十四、MyBatis注解
14.1、MyBatis的操作流程
-
读取核心配置文件;
-
创建 SqlSessionFactory,是重量级组件,是线程安全的,一个 sessionFactory对应一个数据库环境;
-
创建 SqlSession,轻量级,非线程安全的;
-
使用 SqlSession 进行持久化操作。
14.2、MyBatis常用注解
- @Insert:等同于定义 insert SQL 语句;
@Insert("insert into user values (default,#{user_name},#{password})")
void addUser(User user);
- @Update:等同于定义 update SQL 语句;
@Update("update user set user_name=#{user_name},password=#{password} where user_id=#{user_id}")
void updateUser(User user);
- @Delete: 等同于定义 delete SQL 语句;
@Delete("delete from user where user_id=#{user_id}")
void deleteUser(int user_id);
- @Select: 等同于定义 select SQL 语句;
@Select("select * from user")
List<User> queryUser();
-
@Results:等于与定义结果映射;
-
@Result:等同于和,用于映射属性。
@Results(value = {
@Result(column = "user_id",property = "userID"),
@Result(column = "user_name",property = "userName"),
@Result(column = "password",property = "password"),
})
14.3、注意
- 注解是在接口上实现;
- 需要在核心配置文件绑定接口。
本质:反射机制实现
底层:动态代理