10. 注解
2022年8月30日
10. 注解
本质:反射机制实现
底层:动态代理
Mybatis 详细执行流程
注解 CRUD
在工具类创建的时候实现自动提交事务
自动提交事务
public static SqlSession getSession() { return sqlSessionFactory.openSession(true); }
编写接口
/** * 注解形式 * * @return 全部用户信息 */ @Select("select * from user") List<User> getUsers(); /** * 注解形式条件查询 * * @param id id * @param name name * @return user */ @Select("select * from user where id = #{id} and name = #{name}") User getUserById(@Param("id") int id, @Param("name") String name);
测试
public void testGetUserById(){ SqlSession session = MybatisUtils.getSession(); UserMapper mapper = session.getMapper(UserMapper.class); User admin = mapper.getUserById(1, "admin"); System.out.println(admin); session.close(); }
关于@param()注解:
- 基本数据类型和 String 类型需要加上
- 引用数据类型不用加
- 如果只有一个基本类型, 可以忽略,建议加上
- 我们在 SQL 中引用的就是@param("id")中设定的属性名, 可以使用该注解为字段取别名