Mybatis(8) 使用注解开发
8.使用注解开发
8.1 面向接口编程


8.2 使用注解开发
1.注解在接口上实现
@Select("select *from mybatis.user")
List<User> getUsers();
2.需要再核心配置文件中绑定接口
<mappers>
<mapper class="com.luo.dao.UserMapper"></mapper>
</mappers>
3.测试
@Test
public void test(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
List<User> users = mapper.getUsers();
for (User user:users) {
System.out.println(user.toString());
}
}
本质是:反射机制
底层是:动态代理
8.3 注解增删改查
我们可以在工具类创建的时候实现自动提交
public static SqlSession getSqlSession(){
return sqlSessionFactory.openSession(true);
}
编写接口
//查询所有用户
@Select("select *from mybatis.user")
List<User> getUsers();
//根据id查询用户 ,有多个用户的时候要用@Param
@Select("select id,name from mybatis.user where id =#{id}")
User getUsersById(@Param("id") int id);
//增加用户
@Insert("insert into mybatis.user(id,name,pwd) values(#{id},#{name},#{password})")
int addUsers(User user);
//修改用户
@Update("update mybatis.user set pwd=#{password} where id=#{id}")
int updateUsers(HashMap<String,Object> map);
@Delete("delete from mybatis.user where id=#{id}")
//删除用户
int deleteUsers(int id);
测试类
注意:我们必须要将接口注册绑定到我们的核心配置文件当中
关于@Param()注解
l 基本类型的参数或者String类型,需要加上
l 引用类型不需要加上
l 如果只有一个基本类型的话,可以忽略,但是建议还是加上
${} 和 #{} #{}可以防止sql注入 所有都用#{}

浙公网安备 33010602011771号