标签:
1)创建一个spring-mybaits-oracle这么一个javaweb或java工程mysql的jar: mysql-connector-java-5.1.7-bin.jar oracle的jar: ojdbc5.jar c3p0的jar: c3p0-0.9.1.2.jar mybatis的jar: asm-3.3.1.jar cglib-2.2.2.jar commons-logging-1.1.1.jar mybatis-3.1.1.jar mybatis与spring整合的jar 【mybatis-spring-1.1.1.jar】 spring的ioc模块的jar: org.springframework.asm-3.0.5.RELEASE.jar org.springframework.beans-3.0.5.RELEASE.jar org.springframework.context-3.0.5.RELEASE.jar org.springframework.core-3.0.5.RELEASE.jar org.springframework.expression-3.0.5.RELEASE.jar commons-logging.jar spring的aop模块的jar: aopalliance.jar aspectjweaver.jar cglib-2.2.2.jar org.springframework.aop-3.0.5.RELEASE.jar spring的transaction模块的jar: org.springframework.jdbc-3.0.5.RELEASE.jar org.springframework.orm-3.0.5.RELEASE.jar org.springframework.transaction-3.0.5.RELEASE.jar
3)创建emps.sql表,使用oracle或mysql语法
--oracle create table emps( eid number(5) primary key, ename varchar2(20), esal number(8,2), esex varchar2(2) );
4)创建Emp.java类
package cn.buaa.javaee.entity; /** * 员工 * @author AdminTC */ public class Emp { private Integer id; private String name; private Double sal; private String sex; public Emp(){} public Emp(Integer id, String name, Double sal, String sex) { this.id = id; this.name = name; this.sal = sal; this.sex = sex; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Double getSal() { return sal; } public void setSal(Double sal) { this.sal = sal; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } }
5)创建EmpMapper.xml映射文件
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="empNamespace"> <resultMap type="emp" id="empMap"> <id property="id" column="eid"/> <result property="name" column="ename"/> <result property="sal" column="esal"/> <result property="sex" column="esex"/> </resultMap> <!-- 增加员工 --> <insert id="add" parameterType="emp"> insert into emps(eid,ename,esal,esex) values(#{id},#{name},#{sal},#{sex}) </insert> </mapper>
6)创建mybatis.xml配置文件,注意,因为spring配置了连接池的管理,所以mybatis中连接池配置删除即可(下边为了测试,没删除,不删除,默认用的也是老大Spring)
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!-- 加载类路径下的属性文件 --> <properties resource="db.properties"/> <!-- 设置类型别名 --> <typeAliases > <typeAlias type="cn.buaa.javaee.entity.Emp" alias="emp"/> </typeAliases> <!-- 设置默认的连接环境信息 --> <environments default="oracle_developer"> <!-- 连接环境信息 ,随便起一个唯一的名字 --> <environment id="mysql_developer"> <!-- mybatis使用jdbc事物管理方式 --> <transactionManager type="jdbc"></transactionManager> <!-- mybatis使用连接池方式来获取连接 --> <dataSource type="pooled"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/> <property name="username" value="root"/> <property name="password" value="123456"/> </dataSource> </environment> <!-- 连接环境信息 ,随便起一个唯一的名字 --> <environment id="oracle_developer"> <!-- mybatis使用jdbc事物管理方式 --> <transactionManager type="jdbc"></transactionManager> <!-- mybatis使用连接池方式来获取连接 --> <dataSource type="pooled"> <property name="driver" value="oracle.jdbc.driver.OracleDriver"/> <property name="url" value="jdbc:oracle:thin:@localhost:1521/orcl"/> <property name="username" value="zhangdong"/> <property name="password" value="123456"/> </dataSource> </environment> </environments> <!-- 加载映射文件--> <mappers> <mapper resource="cn/buaa/javaee/entity/EmpMapper.xml"/> </mappers> </configuration>
7)创建EmpDao.java类
package cn.buaa.javaee.dao; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import cn.buaa.javaee.entity.Emp; public class EmpDao { private SqlSessionFactory sqlSessionFactory; //ioc容器自动注入 public void setSqlSessionFactory(SqlSessionFactory sqlSessionFactory) { this.sqlSessionFactory = sqlSessionFactory; } /** * 增加员工 */ public void add(Emp emp) throws Exception{ /*SqlSession sqlSession = null; try { sqlSession = MybatisUtil.getSqlSession(); sqlSession.insert("empNamespace.add", emp); sqlSession.commit(); } catch (Exception e) { e.printStackTrace(); sqlSession.rollback(); throw e; }finally{ MybatisUtil.closeSqlSession(); }*/ SqlSession sqlSession = sqlSessionFactory.openSession(); sqlSession.insert("empNamespace.add", emp); sqlSession.close(); } }
package cn.buaa.javaee.test; import org.junit.Test; import org.springframework.context.support.ClassPathXmlApplicationContext; import cn.buaa.javaee.dao.EmpDao; import cn.buaa.javaee.entity.Emp; /** * 单元测试 * @author 梧桐下的茵 * */ public class TestEmpDao { //单独测试mybatis @Test public void test1() throws Exception{ EmpDao empDao = new EmpDao(); empDao.add(new Emp(1,"哈哈",7000D,"男")); } //测试spring整合mybatis @Test public void test2() throws Exception{ ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext("spring.xml"); EmpDao empDao = (EmpDao)ac.getBean("empDao"); empDao.add(new Emp(3,"哈哈",7000D,"男")); } }
标签:
原文地址:http://blog.csdn.net/zd305826520/article/details/51340927