一、创建项目和数据库
项目名称:mybatis092901 数据库名称:mybatis0929 表名称:dept CREATE TABLE `dept` ( `deptNo` int(11) NOT NULL, `deptName` varchar(30) DEFAULT NULL, `location` varchar(30) DEFAULT NULL, PRIMARY KEY (`deptNo`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 表名称:emp CREATE TABLE `emp` ( `empno` int(11) NOT NULL, `ename` varchar(30) DEFAULT NULL, `hiredate` date DEFAULT NULL, `job` varchar(30) DEFAULT NULL, `sal` double DEFAULT NULL, `mgr` varchar(30) DEFAULT NULL, `comm` varchar(30) DEFAULT NULL, `deptno` int(11) DEFAULT NULL, PRIMARY KEY (`empno`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;二、添加jar包 1.在项目上创建lib目录 /lib 2.在lib目录下添加jar junit-4.10.jar mybatis-3.2.2.jar mysql-connector-java-5.1.10-bin.jar三、添加配置文件 1.在项目上创建conf目录 /conf 2.在conf目录下添加配置文件 配置文件名称:mybatis-config.xml 配置文件内容: <?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> <typeAliases> <typeAlias alias="Emp" type="cn.jbit.mybatis092901.domain.Emp"/> </typeAliases> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/mybatis0929"/> <property name="username" value="root"/> <property name="password" value="root"/> </dataSource> </environment> </environments> </configuration>四、创建实体类 1.在src目录下创建包 包名:cn.jbit.mybatis092901.domain 2.在包下创建实体类 类名:Dept.java 内容: public class Dept implements Serializable { private Integer deptNo;//部门编号 private String deptName;//部门名称 private String location;//部门地址 //省略get and set } 类名:Emp.java 内容: public class Emp implements Serializable { //员工姓名 private String empName; //员工编号 private Integer empNo; //员工入职时间 private Date hireDate; //员工职位 private String job; //员工工资 private Double salary; //经理编号 private Integer mgr; //奖金 private Double comm; //部门编号 private Integer deptNo; //省略get and set }五、持久层设计 1.接口设计 1).在src目录创建包 包名:cn.jbit.mybatis092901.dao 2).在包下创建接口 接口名:IEmpDao.java 接口中内容: public interface IEmpDao { /** * 使用Set * @param emp */ public void updateEmpUseSet(Emp emp); }六、添加相关映射文件 1.在conf下添加配置文件 映射文件名称:EmpDaoMapper.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="cn.jbit.mybatis092901.dao.IEmpDao"> <update id="updateEmpUseSet" parameterType="Emp"> UPDATE EMP <set> <if test="empName != null">ename=#{empName},</if> <if test="job != null">job=#{job},</if> <if test="mgr != null">mgr=#{mgr},</if> <if test="hireDate != null">hiredate=#{hireDate},</if> <if test="salary != null">sal=#{salary},</if> <if test="comm != null">comm=#{comm},</if> <if test="deptNo != null">deptno=#{deptNo},</if> </set> WHERE empno= #{empNo} </update> </mapper>七.持久层实现类设计 1).在src目录下创建包 包名:cn.jbit.mybatis092901.dao.impl 2).在包下创建实现类 实现类名:EmpDaoImpl.java 实现类中的内容: /** * 为了使用代码看起来清晰,SqlSession的获取都使用工具类 */ @Override public void insertEmp(Emp emp) { String resource = "mybatis-config.xml"; Reader reader = null; SqlSessionFactory factory = null; SqlSession session = null; try { reader = Resources.getResourceAsReader(resource); SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); factory = builder.build(reader); session = factory.openSession(); session.update("cn.jbit.mybatis092901.dao.IEmpDao.updateEmpUseSet",emp); session.commit(); } catch (Exception e1) { e1.printStackTrace(); }finally { session.close(); } }八、在配置文件中添加映射文件引用 1.在mybatis-fonfig.xml文件中添加mapper <mappers> <mapper resource="EmpDaoMapper.xml"/> </mappers>九、测试操作 1.在项目中创建test目录 /test 2.在test目录下创建包 cn.jbit.mybatis092901.dao 3.在包下创建测试类 类名:EmpDaoTest.java 内容: public class EmpDaoTest { //员工类的持久层实现 private static IEmpDao empDao = new EmpDaoImpl(); /** * 测试set */ @Test public void testSet(){ Emp emp = new Emp(); emp.setEmpNo(1); emp.setEmpName("张平"); empDao.updateEmpUseSet(emp); } }