MyBatis(三):CRUD的操作实现()

  本篇文章为你整理了MyBatis(三):CRUD的操作实现()的详细内容,包含有 MyBatis(三):CRUD的操作实现,希望能帮助你了解 MyBatis(三):CRUD的操作实现。

  在MyBatis(二)的学习中我们已经实现了第一个MyBatis程序,现在我们要实现增删改查的完整操作,我们应该思考我们需要去修改哪些内容呢?

  修改三个内容:Mapper接口、对应Mapper接口的xml配置文件、测试类。

  一、查询

  我们尝试一个根据id查询一个用户的信息。

  1.修改UserMapper接口

  在其中添加我们对应的方法:

  

package com.jms.dao;

 

  import java.util.List;

  import com.jms.pojo.User;

  public interface UserMapper {//根据id获取User信息

   User getUserbyid(int id);

  }

 

  2.修改UerMapper.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对应Mapper接口 --

   mapper namespace="com.jms.dao.UserMapper"

   select id="getUserbyid" parameterType="int" resultType="com.jms.pojo.User"

   select * from mybaties.user where id=#{id}

   /select

   /mapper

 

  我们这里在对上面几个名称进行回顾:

  (1)namespace:命名空间,对应的是Mapper接口的全限定命名。

  (2)id:对应的时Mapper接口中的方法名。

  (3)parameterType:对应方法中传入的参数类型。

  (4)resultType:对应的是SQL语句的返回值类型。

  3.junit测试

  

1 @Test

 

  2 public void Select() {

  3 //利用工具类获取SqlSession

  4 SqlSession sqlSession = MyBatisUtil.getSqlSession();

  5 UserMapper userMapper = sqlSession.getMapper(UserMapper.class);

  6 User user = userMapper.getUserbyid(10000);

  7 System.out.println(user);

  8 sqlSession.close();

  9 }

 

  测试结果:

  二、增加

  1.修改UserMapper接口

  添加对应的方法:

  

 1 package com.jms.dao;

 

   3 import java.util.List;

   5 import com.jms.pojo.User;

   7 public interface UserMapper {

   9 //增加用户信息

  10 int addUser(User user);

  11 }

 

  2.修改UerMapper.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对应Mapper接口 --

   mapper namespace="com.jms.dao.UserMapper"

   !-- id对应接口中的方法 --

   insert id="addUser" parameterType="com.jms.pojo.User"

   insert mybaties.user value(#{id},#{username},#{password})

   /insert

   /mapper

 

  其中的#{id}、#{username}、#{password}都是对应着User的私有属性id、usename、password。

  3.junit测试

  

 1 @Test

 

   2 public void Insert() {

   3 //利用工具类获取SqlSession

   4 SqlSession sqlSession = MyBatisUtil.getSqlSession();

   5 UserMapper userMapper = sqlSession.getMapper(UserMapper.class);

   6 userMapper.addUser(new User(10006,"jms6","123456"));

   7 //提交事务

   8 sqlSession.commit();

   9 sqlSession.close();

  10 }

 

  

  上述代码第8行的提交事务是必须的,否则无法将内容插入的数据库中。

  测试结果:

  

  我们可以看到数据成功插入。

  三、修改

  1.修改UserMapper接口

  

 1 package com.jms.dao;

 

   3 import java.util.List;

   5 import com.jms.pojo.User;

   7 public interface UserMapper {

   9 //修改用户信息

  10 int UpdateUser(User user);

  11 }

 

  2.修改UerMapper.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对应Mapper接口 --

   mapper namespace="com.jms.dao.UserMapper"

   !-- id对应接口中的方法 --

   update id="UpdateUser" parameterType="com.jms.pojo.User"

   update mybaties.user set username=#{username},password=#{password} where id=#{id}

   /update

   /mapper

 

  3.junit测试

  

  

 1 @Test

 

   2 public void Update() {

   3 //利用工具类获取SqlSession

   4 SqlSession sqlSession = MyBatisUtil.getSqlSession();

   5 UserMapper userMapper = sqlSession.getMapper(UserMapper.class);

   6 userMapper.UpdateUser(new User(10006, "jms7", "456123"));

   7 //提交事务

   8 sqlSession.commit();

   9 sqlSession.close();

  10 }

 

  

  测试结果:

  

  四、删除

  1.修改UserMapper接口

  

 1 package com.jms.dao;

 

   3 import java.util.List;

   5 import com.jms.pojo.User;

   7 public interface UserMapper {

   8 //删除用户

   9 int DeleteUser(int id);

  10 }

 

  2.修改UserMapper.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对应Mapper接口 --

   mapper namespace="com.jms.dao.UserMapper"

   !-- id对应接口中的方法 --

   delete id="DeleteUser" parameterType="int"

   delete from mybaties.user where id=#{id}

   /delete

   /mapper

 

  3.junit测试

  

 1 @Test

 

   2 public void Delete() {

   3 //利用工具类获取SqlSession

   4 SqlSession sqlSession = MyBatisUtil.getSqlSession();

   5 UserMapper userMapper = sqlSession.getMapper(UserMapper.class);

   6 userMapper.DeleteUser(10006);

   7 //提交事务

   8 sqlSession.commit();

   9 sqlSession.close();

  10 }

 

  测试结果:

  

  五、总结

  1.注意Mapper.xml文件中各个名称的含义。

  2.注意增删改操作需要SqlSession.commit()进行提交事务。

  

  (本文仅作个人学习记录用,如有纰漏敬请指正)

  

  以上就是MyBatis(三):CRUD的操作实现()的详细内容,想要了解更多 MyBatis(三):CRUD的操作实现的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: