Mybatis框架复习笔记三(基于注解的CRUD)


前两篇的笔记:
Mybatis框架复习笔记一(环境搭建)适合0基础的教程.
Mybatis框架复习笔记二(基于xml的CRUD)动态代理方式.

1.准备阶段

可以在笔记一或者笔记二的结果上进行修改,注解方式对等基于xml配置文件,对于简单的SQL语句,注解的方式更加的简便。

1.1关于IUserDao.xml配置文件

由于使用注解方式,所以将IUserDao.xml删除。(不删也可,虽然实际不用)
在这里插入图片描述

2.2.SqlConfig.xml指定接口位置

在这里插入图片描述

2.基于注解的CRUD

2.1.IUserDao接口中添加基于注解的查询语句

直接从之前的xml文件中复制SQL语句即可
如下:

public interface IUserDao {
    /**
     * 1.查询所有功能
     * **/
    @Select(value = "select * from user")
    List<User> findAll();//由于含有多条数据,因此用List来接收

    /**
     * 2.添加用户
     * **/
    @Insert(value = " insert into user (username,address,birthday) value (#{username},#{address},#{birthday})")
    void saveUser(User user);//说明:传入一个对象,赋值并写入数据库

    /**
     * 3.删除用户
     * **/
    @Delete(value = " delete from user where id = #{aaaaaaa}")//传入单值,可任意命名
    void deleteUser(Integer id);

    /**
     * 4.修改用户数据
     * **/
    @Update("update user set username=#{username},address=#{address},birthday=#{birthday} where id=#{id}")
    void updateUser(User user);//此方法是,用新的user对象覆盖旧的,并不是定向修改

    /**
     * 5.根据id查找用户
     * **/
    @Select("select * from user where id = #{uuuuuuid}")
    User findByID(Integer id);

    /**
     * 6.根据字段模糊查询
     * **/
    @Select(" select * from user where username like #{username}")
    List<User> findByName(String username);
}

2.2.进入UserTest进行测试

UserTest在笔记二的基础上,内容不用修改,直接运行即可:成功查到user表中数据
在这里插入图片描述

2.3.基于xml配置和注解配置的对应关系

在这里插入图片描述

3.mybatis的更多内容

mybatis基于配置文件和注解的简单CRUD方法已经整理出来了。
然而实际开发中还会涉及一对多,多对一或者多对多的查询表的情况。
这个时候配置文件方式可以使用resultMap标签来进行多属性的封装
注解方式可以通过 @Results来进行配置
其他知识点包括:动态SQL,Mybatis延迟加载,一级缓存,二级缓存的相关知识。

猜你喜欢

转载自blog.csdn.net/qq374461948/article/details/105977468