mybatis映射文件之基本的增删改查
发布时间:2020-12-14 18:02:44 所属栏目:大数据 来源:网络整理
导读:借之前配置好的环境: 1、首先在Employee .java中加上有参的构造器和无参的构造器。 2、采用mapper中的class属性配置映射文件。 mappers mapper class ="com.gong.mybatis.dao.EmployeeMapper" / / 3、EmployeeMapper.java package com.gong.mybatis.dao; im
借之前配置好的环境: 1、首先在Employee .java中加上有参的构造器和无参的构造器。 2、采用mapper中的class属性配置映射文件。 <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) 删除 继查找功能之后,本节实现的增删改功能均已正确实现。? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |