MyBatis-CRUD

CRUD

1、namespace

UserMapper.xml中namespace的包名要和Dao/Mapper接口的报名一致!

2、select

选择:查询语句

  • id:就是对应的namespace中的方法名
  • resultType:SQL语句执行的返回值!
  • parameterType:参数类型

UserMapper接口:

// 查询全部用户
List<User> getUsers();
// 根据ID查询用户
User getUserById(int id);

UserMapper.xml:

<!--select查询语句-->
<select id="getUsers" resultType="com.kuang.pojo.User">
    select * from mybatis.user;
</select>

<select id="getUserById" parameterType="int" resultType="com.kuang.pojo.User">
    select * from mybatis.user where `id` = #{id};
</select>

UserTest:

@Test
public void test1(){
    // 1.获取Session
    SqlSession sqlSession = MybatisUtils.getSqlSession();
    // 2.获取Mapper,执行sql
    UserMapper mapper = sqlSession.getMapper(UserMapper.class);
    List<User> users = mapper.getUsers();
    for (User user : users) {
        System.out.println(user);
    }
    // 3.关闭资源
    sqlSession.close();
}

@Test
public void getUserById(){
    SqlSession sqlSession = MybatisUtils.getSqlSession();
    UserMapper mapper = sqlSession.getMapper(UserMapper.class);
    User id = mapper.getUserById(1);
    System.out.println(id);
    sqlSession.close();
}

增删改需要提交事物

3、insert

UserMapper接口:

// 插入一个用户
int addUser(User user);

UserMapper.xml:

<!--插入用户:对象中的属性,可以直接取出来-->
<insert id="addUser" parameterType="com.kuang.pojo.User">
    insert into mybatis.user (`id`,`name`,`pwd`) values (#{id},#{name},#{pwd});
</insert>

UserTest:

@Test // 插入测试
public void addUser(){
    SqlSession sqlSession = MybatisUtils.getSqlSession();
    UserMapper mapper = sqlSession.getMapper(UserMapper.class);
    int res = mapper.addUser(new User(4, "家兴", "123456"));
    if (res > 0){
        System.out.println("插入成功");
    }

    // 提交事物
    sqlSession.commit();
    sqlSession.close();
}

4、update

UserMapper接口:

// 修改用户
int updateUser(User user);

UserMapper.xml:

<!--修改用户-->
<update id="updateUser" parameterType="com.kuang.pojo.User">
    update mybatis.user set `name`= #{name},`pwd`=#{pwd} where `id`=#{id};
</update>

UserTest:

@Test // 修改测试
public void updateUser(){
    SqlSession sqlSession = MybatisUtils.getSqlSession();
    UserMapper mapper = sqlSession.getMapper(UserMapper.class);
    int res = mapper.updateUser(new User(4, "jiaxing", "123321"));
    if (res > 0){
        System.out.println("修改成功");
    }

    // 提交事物
    sqlSession.commit();
    sqlSession.close();
}

5、delete

UserMapper接口:

// 删除用户
int deleteUser(int id);

UserMapper.xml:

<!--删除用户-->
<delete id="deleteUser" parameterType="int">
    delete from mybatis.user where id = #{id};
</delete>

UserTest:

@Test // 删除测试
public void deleteUser(){
    SqlSession sqlSession = MybatisUtils.getSqlSession();
    UserMapper mapper = sqlSession.getMapper(UserMapper.class);
    int i = mapper.deleteUser(4);
    if (i > 0){
        System.out.println("删除成功");
    }

    // 提交事物
    sqlSession.commit();
    sqlSession.close();
}

注意点:

增删改需要提交事物!

posted @   家兴Java  阅读(10)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示