Mybatis学习笔记 —— 03 Mybatis增删改查
一、扩展第一个Mybatis案例,添加增删改查操作
1.在UserMapper.java文件下添加对应接口
public interface UserMapper { //查询所有用户 List<User> getUserList(); //通过Id查询用户 User getUserById(int id); //模糊查询用户 List<User> getUserLike(String value); //insert用户 int addUser(User user); //update用户 int updateUser(User user); //delete用户 int deleteUser(int id); }
2.在UserMapper.xml文件下写对应Sql语句,并进行绑定
其中有关insert、update、delete相关语句在Mybatis中文文档下的XML 映射器文件有说明

<!-- 通过Id查询用户 --> <select id="getUserById" parameterType="int" resultType="com.autumn.pojo.User"> select * from mybatis.user where id = #{id}; </select>
<!-- 模糊查询用户 --> <select id="getUserLike" resultType="com.autumn.pojo.User"> select * from mybatis.user where name like #{value}; </select>
<!-- 插入一个用户 --> <insert id="addUser" parameterType="com.autumn.pojo.User"> insert into mybatis.user(id, name, pwd) values (#{id} , #{name} , #{pwd}); </insert>
<!-- 更改一个用户 --> <update id="updateUser" parameterType="com.autumn.pojo.User"> update mybatis.user set name = #{name} , pwd = #{pwd} where id = #{id}; </update>
<!-- 删除一个用户 --> <delete id="deleteUser" parameterType="int"> delete from mybatis.user where id = #{id}; </delete>
3.测试
1)通过Id查询用户
@Test public void testGetUserById(){ //获取sqlSession对象 SqlSession sqlSession = MybatisUtils.getSqlSession(); try{ //执行 UserMapper userMapper = sqlSession.getMapper(UserMapper.class); User userById = userMapper.getUserById(1); System.out.println(userById); }finally { //关闭sqlSession sqlSession.close(); } }

2)模糊查询用户
@Test public void testGetUserLike(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); try { UserMapper mapper = sqlSession.getMapper(UserMapper.class); List<User> userList = mapper.getUserLike("%张%"); for (User user : userList) { System.out.println(user); } }finally { sqlSession.close(); } }

3)添加用户信息
@Test public void testAddUser(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); try{ UserMapper mapper = sqlSession.getMapper(UserMapper.class); mapper.addUser(new User(6,"民风淳朴洛圣都","6666666")); }finally { sqlSession.commit(); sqlSession.close(); } }

4)修改用户信息
@Test public void testUpdateUser(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); try{ UserMapper mapper = sqlSession.getMapper(UserMapper.class); mapper.updateUser(new User(6, "开局核平冬木市" , "10086")); }finally { sqlSession.commit(); sqlSession.close(); } }

5)删除用户信息
@Test public void testDeleteUser(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); try{ UserMapper mapper = sqlSession.getMapper(UserMapper.class); mapper.deleteUser(6); }finally { sqlSession.commit(); sqlSession.close(); } }

注意 Sql语句中,增删改操作后需要提交事务,即sqlSession.commit();,否则数据库不会改变

浙公网安备 33010602011771号