7、mybatis学习——基础增删改
sqlmapper中配置
<insert id="addEmp" parameterType="employee"> insert into employee(name,gender) values(#{name},#{gender}) </insert> <update id="updateEmp"> update employee set name=#{name},gender=#{gender} where id=#{id} </update> <delete id="deleteEmp"> delete from employee where id = #{id} </delete>
mapper接口中添加相应方法
增删改测试
@Test public void testAdd() throws IOException { String source = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(source); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); //获取sqlSession实例,能直接执行映射的sql语句,获取的session不会自动提交 SqlSession sqlSession = sqlSessionFactory.openSession(); EmployeeMapper employeeMapper = sqlSession.getMapper(EmployeeMapper.class); Employee employee = new Employee(null, "tom", "0"); employeeMapper.addEmp(employee); sqlSession.commit(); sqlSession.close(); } @Test public void testUpdate() throws IOException { String source = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(source); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); //获取sqlSession实例,能直接执行映射的sql语句,获取的session不会自动提交 SqlSession sqlSession = sqlSessionFactory.openSession(); EmployeeMapper employeeMapper = sqlSession.getMapper(EmployeeMapper.class); Employee employee = employeeMapper.selectEmpById(1); employee.setName("xiaohon"); employeeMapper.updateEmp(employee); sqlSession.commit(); sqlSession.close(); } @Test public void testDelete() throws IOException { String source = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(source); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); //获取sqlSession实例,能直接执行映射的sql语句,获取的session不会自动提交 SqlSession sqlSession = sqlSessionFactory.openSession(); EmployeeMapper employeeMapper = sqlSession.getMapper(EmployeeMapper.class); employeeMapper.deleteEmp(2); sqlSession.commit(); sqlSession.close(); }
二、mybatis获取自增主键
<!-- 获取自增主键的值: mysql支持自增主键,自增主键的获取 mybatis也是通过配置useGeneratedKeys="true"使用自增主键获取主键值策略 keyProperty=""指定对应的主键属性,也就是mybatis获取到主键值以后,将这个值封装到javabean的属性中--> <insert id="addEmp" parameterType="employee" useGeneratedKeys="true" keyProperty="id"> insert into employee(name,gender) values(#{name},#{gender}) </insert>
测试方法中查看添加对象后的属性
@Test public void testAdd() throws IOException { String source = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(source); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); //获取sqlSession实例,能直接执行映射的sql语句,获取的session不会自动提交 SqlSession sqlSession = sqlSessionFactory.openSession(); EmployeeMapper employeeMapper = sqlSession.getMapper(EmployeeMapper.class); Employee employee = new Employee(null, "tom", "0"); //此时id为null employeeMapper.addEmp(employee); System.out.println(employee); //此时有id sqlSession.commit(); sqlSession.close(); }
相关推荐
xiuyangsong 2020-11-16
Nishinoshou 2020-11-09
jimgreatly 2020-09-01
dongxurr 2020-08-18
Dullonjiang 2020-08-15
Dullonjiang 2020-08-11
Dullonjiang 2020-08-09
dongxurr 2020-08-08
yunzhonmghe 2020-08-07
jimgreatly 2020-08-03
Dullonjiang 2020-07-30
jimgreatly 2020-07-27
liqiancao 2020-07-26
xiuyangsong 2020-07-26
dongxurr 2020-07-26
mcvsyy 2020-07-26
helloxusir 2020-07-25
牧场SZShepherd 2020-07-20