首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MyBatis 实现数据的增删改查

MyBatis 实现数据的增删改查

作者头像
村雨遥
发布2020-07-21 14:12:45
5950
发布2020-07-21 14:12:45
举报
文章被收录于专栏:JavaParkJavaPark

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();
}

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();
}

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();
}
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 村雨遥 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 查询操作 select
    • 1.1 根据各属性来查询用户
      • 2. 插入操作 insert
        • 3. 修改操作 update
          • 4. 删除操作 delete
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档