借之前配置好的环境:
1、首先在Employee .java中加上有参的构造器和无参的构造器。
<mappers> mapper class="com.gong.mybatis.dao.EmployeeMapper" /> </>
3、EmployeeMapper.java
package com.gong.mybatis.dao; import com.gong.mybatis.bean.Employee; public interface EmployeeMapper { public Employee getEmpById(Integer id); boolean addEmp(Employee employee); void updateEmp(Employee employee); deleteEmp(Integer id); }
4、EmployeeMapper.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"> namespace="com.gong.mybatis.dao.EmployeeMapper"> select id="getEmpById" resultType="com.gong.mybatis.bean.Employee"> select id,last_name lastName,email,gender from tbl_employee where id = #{id} selectinsert ="addEmp" parameterType insert into tbl_employee(last_name,gender,email) values(#{lastName},#{gender},#{email}) insertupdate ="updateEmp" update tbl_employee set last_name=#{lastName},gender=#{gender},email=#{email} where id = #{id} updatedelete ="deleteEmp" delete from tbl_employee where id=#{id} delete> mapper>
说明:接口中的增删改方法可以有Integer、long、boolean返回值。在EmployeeMapper.xml中parameterType为输入的参数类型,resultType为返回的参数类型。
5、在TestMybatis.java中进行单元测试
com.gong.mybatis.test; java.io.IOException; java.io.InputStream; org.apache.ibatis.io.Resources; org.apache.ibatis.session.sqlSession; org.apache.ibatis.session.sqlSessionFactory; org.apache.ibatis.session.sqlSessionFactoryBuilder; org.junit.Test; com.gong.mybatis.bean.Employee; com.gong.mybatis.dao.EmployeeMapper; com.gong.mybatis.dao.EmployeeMapperAnnotation; TestMybatis { public sqlSessionFactory getsqlSessionFactory() throws IOException { String resource = "mybatis-config.xml"; InputStream is = Resources.getResourceAsStream(resource); return new sqlSessionFactoryBuilder().build(is); } @Test void test03() IOException { sqlSessionFactory sqlSessionFactory = getsqlSessionFactory(); //不会自动提交数据 sqlSession openSession = sqlSessionFactory.openSession(); try { EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.); /* //添加员工 Employee employee = new Employee(null,"bob","1","123455777@qq.com"); mapper.addEmp(employee); /* //修改员工 Employee employee = new Employee(1,"xiximayou","xiximayou@qq.com"); mapper.updateEmp(employee); */ //删除员工 Integer id = 3; mapper.deleteEmp(id); 手动提交数据 openSession.commit(); } finally { TODO: handle finally clause openSession.close(); } } }
原本数据库中存在的数据:
结果:
(1)添加
(2)修改
(3) 删除