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

作者:假装空白
欢迎任何形式的转载,但请务必注明出处。
限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。

posted @   假装空白  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示