Mybatis的简单注解
Mybatis注解开发
注解开发可以减少编写Mapper映射文件,常用注解如下:
- @Insert:新增
- @Update:更新
- @Delete:删除
- @Select:查询
- @Result:结果集
- @Results:封装多个结果集
- @One:一对一结果集封装
- @Mary:一对多结果集封装
注解开发步骤如下:
- 将mapper.xml中的sql语句分别以注释的方式添加到DAO接口中对应的方法上,如:
public interface UserMapper {
@Select("select * from user")
public List<User> findAll();
@Select("select * from user where id=#{id}")
public User findById(int id);
}
- 修改mybatis配置文件中的映射标签,用package标签替换掉mapper标签,值得注意的是,name属性只需指定到mapper接口所在的包名,不然会出现
Type interface com.rsk.dao.UserMapper is not known to the MapperRegistry
错误
<!--加载映射文件-->
<mappers>
<!--xml开发-->
<!-- <mapper resource="com/rsk/mapper/UserMapper.xml"></mapper>-->
<!--注解开发-->
<package name="com.rsk.dao"/>
</mappers>
- 与xml方式一样,最后构造sqlsesion来动态代理DAO的实现
InputStream resourceAsStream = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
List<User> all = userMapper.findAll();
User user = userMapper.findById(1);
System.out.println(all);
System.out.println(user.getName());
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性