使用注解开发
1.接口
@Select("select * from mybatis.user")
List<User> getUsers();
2.测试
@Test
public void getUsers(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
List<User> users = mapper.getUsers();
for (User user : users) {
System.out.println(user);
}
sqlSession.close();
}
注册接口
<!-- 绑定接口-->
<mappers>
<mapper class="com.chen.dao.UserMapper"></mapper>
</mappers>
本质:反射机制实现
底层:动态代理
2.注解实现CRUD
可以在工具类创建的时候自动实现提交事务
public static SqlSession getSqlSession(){
return sqlSessionFactory.openSession(true);
}
关于@Param()注解
1.基本类型的参数活着String类型,需要加上
2.引用类型不需要加上
3.如果只有一个基本类型的话,可以忽略
4.在SQL中引用的就是@Param()中设定的属性名
#{} ${}区别
#{}能够很大程度上防止SQL注入
尽量用#{}