CRUD:增加(Create)、检索(Retrieve)、更新(Update)和删除(Delete)
namespace:名称空间,填写对应mapper.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="com.zwh.mapper.EmployeeMapper"> </mapper>mapper.xml: parameterType:输入类型
<insert id="insertEmployee" parameterType="com.zwh.pojo.Employee"> insert into employee (name,gender,birthday,mobile,email,position,note) values(#{name},#{gender},#{birthday},#{mobile},#{email},#{position},#{note}) </insert>test测试文件:
@Test public void insertEmployee() throws IOException { /* 读取配置文件 */ InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml"); /* 根据配置文件构建SqlSessionFactory会话工厂 */ SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); /* 通过SqlSessionFactory创建SqlSession */ SqlSession sqlSession = sqlSessionFactory.openSession(); Employee employee=new Employee(); employee.setName("李四"); employee.setGender(1); employee.setBirthday(new Date()); employee.setMobile("1365445855"); employee.setEmail("123456@qq.com"); employee.setPosition("工程师"); employee.setNote("新增"); /* SqlSession执行映射文件中自定义的SQL,并返回映射结果 */ try { int insert = sqlSession.insert("com.zwh.mapper.EmployeeMapper.insertEmployee", employee); System.out.println("添加成功:"+insert+"行发生更改"); /* 提交事务 */ sqlSession.commit(); } finally { sqlSession.close(); } }mapper.xml:
<delete id="deleteEmployee" parameterType="Integer"> delete from employee where empid=#{empid} </delete>test测试文件:
@Test public void deleteEmployee() throws IOException { /* 读取配置文件 */ InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml"); /* 根据配置文件构建SqlSessionFactory会话工厂*/ SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); /* 通过SqlSessionFactory创建SqlSession */ SqlSession sqlSession = sqlSessionFactory.openSession(); /* SqlSession执行映射文件中自定义的SQL,并返回映射结果 */ try { int insert = sqlSession.delete("com.zwh.mapper.EmployeeMapper.deleteEmployee", 6); System.out.println("删除成功:"+insert+"行发生更改"); /* 提交事务 */ sqlSession.commit(); } finally { sqlSession.close(); } }mapper.xml:
<update id="updateEmployee" parameterType="com.zwh.pojo.Employee"> update employee set name=#{name} where empid=#{empId} </update>test测试文件:
@Test public void updateEmployee() throws IOException { /* 读取配置文件 */ InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml"); /* 根据配置文件构建SqlSessionFactory会话工厂*/ SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); /* 通过SqlSessionFactory创建SqlSession */ SqlSession sqlSession = sqlSessionFactory.openSession(); Employee employee=new Employee(); employee.setEmpId(2); employee.setName("王五"); /* SqlSession执行映射文件中自定义的SQL,并返回映射结果 */ try { int insert = sqlSession.update("com.zwh.mapper.EmployeeMapper.updateEmployee", employee); System.out.println("修改成功:"+insert+"行发生更改"); /* 提交事务 */ sqlSession.commit(); } finally { sqlSession.close(); } }mapper.xml: resultType:查询结果集返回类型
<select id="selectEmployee" parameterType="Integer" resultType="employee"> select * from employee where empid=#{empId} </select>test测试文件: sqlSession.selectOne():查询单个 sqlSession.selectList():查询多个
@Test public void selectEmployee() throws IOException { /* 读取配置文件 */ InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml"); /* 根据配置文件构建SqlSessionFactory会话工厂 */ SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); /* 通过SqlSessionFactory创建SqlSession */ SqlSession sqlSession = sqlSessionFactory.openSession(); /* SqlSession执行映射文件中自定义的SQL,并返回映射结果 */ try { Employee employee = sqlSession.selectOne("com.zwh.mapper.EmployeeMapper.selectEmployee", 1); System.out.println(employee); } finally { /*关闭SqlSession*/ sqlSession.close(); } }namespace名称空间,填写对应接口全限定名 由于非接口方式的sql块代码和接口方式的sql块代码是一样的,下面写的是查询方法,其他三种增删改就省略了。
<?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="com.zwh.dao.EmployeeDao"> <select id="selectEmployee" parameterType="Integer" resultType="employee"> select * from employee where empid=#{empid} </select> </mapper>mybatis核心配置文件中添加EmployeeDaoMapper.xml映射文件地址
<mappers> <mapper resource="com/zwh/dao/mapper/EmployeeDaoMapper.xml" /> </mappers>