怎样修改一个类中的数据_MyBatis 实现数据的增删改查

1. 查询操作 select

1.1 根据各属性来查询用户

  1. UserDao 中添加对应方法:
 /**
 * @param name 用户名
 * @return 对应用户名的用户对象
 * @description 根据用户名获取用户
 * @date 2020/7/14 14:52
 * @author cunyu1943
 * @version 1.0
 */
 User getUserByName(String name);
 ​
 /**
 * @param password 密码
 * @return 对应密码的用户对象
 * @description 根据用户密码获取用户对象
 * @date 2020/7/14 14:57
 * @author cunyu1943  
 * @version 1.0
 */
 User getUserByPassword(String password);
  1. 接着在 UserMapper.xml 中添加 Select 语句。其中各属性含义如下:
  • id:对应接口中的 方法名
  • resultType:SQL 语句执行的返回值;
  • parameterType:参数类型;
 <select id="getUserById" resultType="com.cunyu.pojo.User">
     select * from user where id=#{id}
 </select>
 ​
 <select id="getUserByName" resultType="com.cunyu.pojo.User">
     select * from user where name=#{name}
 </select>
 ​
 <select id="getUserByPassword" resultType="com.cunyu.pojo.User">
     select * from user where password=#{password}
 </select>
  1. 在测试类中测试即可;
 @Test
 public void testGetUserById() {
     // 执行 SQL 语句
     UserDao mapper = sqlSession.getMapper(UserDao.class);
     User user = mapper.getUserById(2);
     System.out.println(user);
 ​
     // 关闭 SqlSession
     sqlSession.close();
 }
 ​
 @Test
 public void testGetUserByName() {
     UserDao mapper = sqlSession.getMapper(UserDao.class);
     User user = mapper.getUserByName("村雨遥");
     System.out.println(user);
 ​
     sqlSession.close();
 }
 ​
 @Test
 public void testGetUserByPassword(){
     UserDao mapper = sqlSession.getMapper(UserDao.class);
     User user=mapper.getUserByPassword("123456");
     System.out.println(user);
 ​
     sqlSession.close();
 }

2. 插入操作 insert

  1. 首先在 UserDao 接口中添加对应方法
     /**
     * @description 添加用户
     * @param  user 待添加的用户对象
     * @return
     * @date 2020/7/14 15:50
     * @author cunyu1943
     * @version 1.0
     */
     int addUser(User user);
  1. UserMapper.xml 中添加 Insert 语句;
 <insert id="addUser" parameterType="com.cunyu.pojo.User">
     insert into user(id, name, password) values (#{id},#{name},#{password})
 </insert>
  1. 测试方法中测试;
 @Test
 public void testAddUser() {
     UserDao mapper = sqlSession.getMapper(UserDao.class);
     User user = new User(5, "小雨", "6543210");
     int i = mapper.addUser(user);
     System.out.println(i);
     // 提交事务到数据库
     sqlSession.commit();
     System.out.println("添加用户成功");
     sqlSession.close();
 }

4e359c512c08d0c1328cbe18e4f08046.png

3. 修改操作 update

  1. UserDao 添加对应接口;
 /**
     * @description 根据 id 修改用户
     * @param  user 待修改的用户对象
     * @return
     * @date 2020/7/14 16:04
     * @author cunyu1943
     * @version 1.0
     */
 int updateUser(User user);
  1. UserMapper.xml 中添加 update 语句;
 <update id="updateUser" parameterType="com.cunyu.pojo.User">
     update user set name=#{name},password=#{password} where id=#{id}
 </update>
  1. 测试类中测试;
@Test
public void testUpdateUser(){
    // 获取 SqlSession 对象
    SqlSession sqlSession = MybatisUtils.getSqlSession();
    UserDao mapper = sqlSession.getMapper(UserDao.class);
    User user = mapper.getUserById(1);
    user.setPassword("7891011");
    int i = mapper.updateUser(user);
    sqlSession.commit();
    System.out.println("更新数据成功");
    sqlSession.close();
}

bfc6249a11b715dc27a6ae5c83e81f1d.png

4. 删除操作 delete

  1. userDao 中添加接口;
/**
    * @description 删除用户
    * @param  user 待删除的用户
    * @return
    * @date 2020/7/14 16:21
    * @author cunyu1943
    * @version 1.0
    */
int deleteUserById(User user);
  1. UserMapper.xml 中添加 delete 语句;
<delete id="deleteUserById" parameterType="com.cunyu.pojo.User">
    delete from user where id=#{id}
</delete>
  1. 在测试类中测试;
@Test
public void testDeleteUser(){
    // 获取 SqlSession 对象
    SqlSession sqlSession = MybatisUtils.getSqlSession();
    UserDao mapper = sqlSession.getMapper(UserDao.class);
    User user = mapper.getUserById(5);
    int i = mapper.deleteUserById(user);
    sqlSession.commit();
    System.out.println("删除数据成功");
    sqlSession.close();
}

407ca52ff80f26830870cea07cfa125b.png

5814b4b70d982cce9b08d47ad8cfa7ca.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值