MyBatis学习笔记3 ——CRUD增删改查实现

MyBatis学习笔记3 ——CRUD增删改查实现


参考教程B站狂神https://www.bilibili.com/video/BV1NE411Q7Nx


namespace注意点

namespace中的包名要和 Dao/mapper 接口的包名一致!

select

选择,查询语句;
Mapper.xml配置文件的一些标签:

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

接口

MyBatis学习笔记3 ——CRUD增删改查实现_第1张图片

Mapper配置文件

MyBatis学习笔记3 ——CRUD增删改查实现_第2张图片

测试代码

    @Test
    public void getUserById(){
        //通过写的MyBatisUtils类里的getSqlSession()方法,获取sqlSession对象
        SqlSession sqlSession = MyBatisUtils.getSqlSession();
        //执行SQL语句
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);//UserMapper,返回接口实现类信息
        User user = mapper.getUserById(1);//执行口实现类的方法,即配置文件里的id
        System.out.println(user);

        //关闭sqlSession
        sqlSession.close();
    }

insert

接口

MyBatis学习笔记3 ——CRUD增删改查实现_第3张图片

Mapper配置文件

MyBatis学习笔记3 ——CRUD增删改查实现_第4张图片
注意:配置文件可以使用HTML的注释,但是在SQL语句中不能使用注释,会报错,下面是错误示范

    
    <insert id="addUser" parameterType="com.ylw.pojo.User">
    	--这里不能这样写sql注释
        insert into mybatis.user (id,name,pwd) values (#{id},#{name},#{pwd})
    

测试代码

    //增删改需要提交事物否则表是不会变的
    @Test
    public void addUser(){
        //通过写的MyBatisUtils类里的getSqlSession()方法,获取sqlSession对象
        SqlSession sqlSession = MyBatisUtils.getSqlSession();
        //执行SQL语句
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);//UserMapper,返回接口实现类信息
        int res = mapper.addUser(new User(4,"赵六","123333"));//执行口实现类的方法,即配置文件里的id
        if (res > 0){ //插入成功的话,返回值一般是1
            System.out.println("插入成功");
        }
        //提交事务
        sqlSession.commit();
        //关闭sqlSession
        sqlSession.close();
    }

update

接口

MyBatis学习笔记3 ——CRUD增删改查实现_第5张图片

Mapper配置文件

    <!--注意#{}里的参数id,name,pwd是与实体类User里面的属性名对应的-->
    <update id="updateUser" parameterType="com.ylw.pojo.User">
        update mybatis.user set name = #{name},pwd= #{pwd} where id = #{id};
    

测试代码

    @Test
    public void updateUser(){
        //通过写的MyBatisUtils类里的getSqlSession()方法,获取sqlSession对象
        SqlSession sqlSession = MyBatisUtils.getSqlSession();
        //执行SQL语句
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);//UserMapper,返回接口实现类信息
        int res = mapper.updateUser(new User(4,"嗷嗷","129999"));//执行口实现类的方法,即配置文件里的id
        if (res > 0){ //修改成功的话,返回值一般是1
            System.out.println("修改成功");
        }
        //提交事务
        sqlSession.commit();
        //关闭sqlSession
        sqlSession.close();
    }

delete

接口

MyBatis学习笔记3 ——CRUD增删改查实现_第6张图片

Mapper配置文件

    <!--注意#{}里的参数id,name,pwd是与实体类User里面的属性名对应的-->
    <delete id="deleteUser" parameterType="int">
        delete from mybatis.user where id = #{id}
    

测试代码

    @Test
    public void deleteUser(){
        //通过写的MyBatisUtils类里的getSqlSession()方法,获取sqlSession对象
        SqlSession sqlSession = MyBatisUtils.getSqlSession();
        //执行SQL语句
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);//UserMapper,返回接口实现类信息
        int res = mapper.deleteUser(4);//执行口实现类的方法,即配置文件里的id
        if (res>0){
            System.out.println("删除成功");
        }
        //提交事物
        sqlSession.commit();
        //关闭sqlSession
        sqlSession.close();
    }

你可能感兴趣的:(JavaWeb基础和SSM框架,mybatis,java,mysql,数据库,sql)