mybatis注解开发
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | package com.baidu.mybatis_test_1.dao; import com.baidu.mybatis_test_1.domain.User; import org.apache.ibatis.annotations.*; import org.apache.ibatis.mapping.FetchType; import java.util.List; //用户接口 public interface UserDao { //查询所有的用户 @Select (value = "select * from user" ) //在实体类中的成员变量名和数据库中的列名不一致的时候,我们需要一一对应列名,用 @Results 注解 //@Results中的id,给 映射起个名字,其他的方法也可以调用,如下面的通过id查用户 @Results (id = "userMap_1" ,value ={ //id是主键,需要要id=true,其余的不是主键,不用添加 //column是 数据库中列的名称 , property是pojo中的名称 @Result (id = true ,column = "id" ,property = "userId" ) , @Result (column = "username" ,property = "userName" ) , @Result (column = "password" ,property = "userPwd" ) , @Result (column = "create_time" ,property = "userCreateTime" ) , @Result (column = "salt" ,property = "userSalt" ), @Result (column = "id" ,property = "userLvFriend" , //一对一关系映射用one注解,这里查询 用户的班级信息 //select 属性中填写执行方法的全限定类名加方法名 //FetchType.EAGER 是立即加载 //FetchType.LAZY 是懒加载 one = @One (select = "com.baidu.mybatis_test_1.dao.UserLvFriendDao.getLvFriendbyUserId" ,fetchType = FetchType.EAGER)), @Result (column = "id" ,property = "roleList" , //一对多关系映射many注解,这里查询用户的角色信息 many = @Many (select = "com.baidu.mybatis_test_1.dao.RoleDao.getRoleListByUserId" ,fetchType = FetchType.LAZY)) } ) List<User> getListUsers(); //根据用户id查询用户 @Select (value = "select * from user where id=#{userId}" ) //引用上面方法中的映射 @ResultMap (value = { "userMap_1" }) User getUserByID(Integer userId); //添加用户 @Insert (value = "insert into user (username,password,create_time,salt) values(#{userName},#{userPwd},#{userCreateTime},#{userSalt})" ) Integer addUser(User user); //修改用户 @Update (value = "update user set username=#{userName},password=#{userPwd},create_time=#{userCreateTime},salt=#{userSalt} where id=#{userId}" ) Integer updateUser(User user); //删除用户 @Delete (value = "delete from user where id=#{userId}" ) Integer delUser(Integer userId); } |
原帖地址:https://blog.csdn.net/qq_41712271/article/details/105095909
作者:假装空白
欢迎任何形式的转载,但请务必注明出处。
限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律