首页 > 其他分享 >MyBatis--注解开发

MyBatis--注解开发

时间:2023-08-13 16:22:58浏览次数:40  
标签:-- column Result MyBatis 注解 property id select user

MyBatis注解开发

MyBatis常用注解

将映射文件替换为注解:

public interface UserMapper {
 @Insert("insert into user value (...)")
 public  void save(User user);
 @Update("")
 public List<User> findAll();
}

其他delete,select等注解类似

之后将之前核心配置文件中的加载映射文件代码换成:

    <mappers>
<!--       指定接口所在包-->
        <package name="com.xxx.Mapper"/>
    </mappers>

复杂查询:

一对一:

方法一

@Insert("insert into user value (...)")
@Results({
        @Result(column = "oid",property = "id")
        @Result(column = "oid",property = "id")
        @Result(column = "oid",property = "id")
})
public  void save(User user);

方法二

@Select("select * from orders ")
@Results({
        @Result(column = "oid",property = "id"),
        @Result(column = "oid",property = "id"),
        @Result(column = "oid",property = "id"),
        @Result(
                property = "user",//要封装的属性名称
                column = "uid",//根据那个字段来查询另外一个表数据
                javaType = User.class,//要封装的实体类型
                //select属性代表那个接口方法获得数据,findById是我们写好的一个带select注解的接口方法用来查询id相同的
                one=@One(select = "com.xxx.mapper.UserMapper.findById")
        )
})
public  void save(User user);

一对多:

@Select("select * from user ")
@Results({
        @Result(id = true, column = "id", property = "id"),
        @Result(column = "oid", property = "id"),
        @Result(column = "oid", property = "id"),
        @Result(property = "orderList",
                column = "id",
                javaType = List.class,
                many = @Many(select = "com.xxx.mapper.findById")
        )
})
public  void save(User user);

多对多:

@Select("select * from user ")
@Results({
        @Result(id = true, column = "id", property = "id"),
        @Result(column = "username", property = "username"),
        @Result(column = "password", property = "password"),
        @Result(property = "roleList",
                column = "id",
                javaType = List.class,
                many = @Many(select = "com.xxx.mapper.findByUid")
        )
})
public  void save(User user);
@Select("select * from sys_user_role ur,sys_role r where ur.roleId=r.id And ur.userId=#{uid")
public  void findByUid(User user);

标签:--,column,Result,MyBatis,注解,property,id,select,user
From: https://www.cnblogs.com/rainaftersummert/p/17626671.html

相关文章

  • Python Poetry 依赖管理工具
    Python依赖管理工具poetry安装Linux,macOS,Windows(WSL)curl-sSLhttps://install.python-poetry.org|python3-Windows(Powershell)(Invoke-WebRequest-Urihttps://install.python-poetry.org-UseBasicParsing).Content|py配置使用poetryconfig--list......
  • Mybatis--进阶
    MyBatis--2.进阶MyBatis的Dao层实现传统开发方式Dao中的接口类:publicinterfaceUserMapper{publicList<User>findAll()throwsIOException;}Dao中接口的实现类:publicclassUserMapperImplimplementsUserMapper{@OverridepublicList<User>findA......
  • AtCoder Beginner Contest 314 A - Ex题解
    AtCoderBeginnerContest314A-3.14嗯,你可以用string存小数点后的...B-Roulette对于每一个金额,用个vector存pair<>存一个人赌了多少,以及是哪一个人。C-RotateColoredSubsequence每种数用个双向链表记下来。D-LOWER我们观察到,对于2,3操作,只有最后一次有用,且......
  • ovn打通跨网段和同网段通信
    ovs缺陷1.ovs只能做二层转发,没有三层能力2.ovs没有高可用配置3.ovs配置无法随着虚机迁移和容器迁移而自动迁移安装ovs和ovnovn-northd通过unixsocket连上北向数据库和南向数据库,3者在同一台机器上。ovn-controler启动后自动创建br-int网桥。#通过yum安装ovs和ovn(省略)#......
  • Spring的事务控制
    Spring的事务控制编程式事务控制相关对象PlatformTransactionManager主要接口,下面主要讲它的实现类TransactionDefinition设置事务的隔离级别设置事务的传播行为TransactionStatus上面三者就是编程式事务控制的三大对象,不重要,后面才是关键基于XML的声明式事务控制......
  • 番茄工作法 All In One
    番茄工作法AllInOne番茄工作法(英语:PomodoroTechnique)是一种时间管理方法,在1980年代由FrancescoCirillo创立。该方法使用一个定时器来分割出一个一般为25分钟的工作时间和5分钟的休息时间,而那些时间段被称为pomodoros,为意大利语单词pomodoro(中文:番茄)。番茄工作法五个步骤......
  • Django实现文件上传、文件列表查看、修改、限流和日志记录1
    Django实现文件上传、文件列表查看、修改、限流和日志记录1上一章已经实现了文件的上传到项目的指定目录中,这章我们继续乘胜追击继续优化实现。一般都是上传文件到后端服务器上,因此需要建立一个远程服务器的连接,本章连接远程服务器实现文件上传实现点击上传本地文件到远程服务......
  • Unity的AssetPostprocessor之Model之动画:深入解析与实用案例 3
    UnityAssetPostprocessor的Model的动画相关的函数修改实际应用在Unity中,AssetPostprocessor是一个非常有用的工具,它可以在导入资源时自动执行一些操作。其中,Model的动画相关的函数修改可以帮助我们在导入模型时自动修改动画相关的函数,从而提高我们的工作效率。本文将介绍如何使......
  • 微信小程序视图容器 swiper
    滑块视图容器。属性类型默认值必填说明最低版本属性类型默认值必填说明最低版本indicator-dotsbooleanfalse否是否显示面板指示点1.0.0indicator-colorcolorrgba(0,0,0,.3)否指示点颜色1.1.0indicator-active-colorcolor#000000否当前选中的指......
  • 【闲话】08.13.23
    08.13闲话这几天都好冷清啊,头图也取消罢(你推歌:Leta&可不《ぐるーみぃ》虽然不知道这个p主为啥要用平假名写英语,但是歌还挺可爱的。而且是这个p主的第一首歌,值得鼓励。可不真的很可爱。又被月赛薄纱了:没有学术,累了今天产9oc设定的时候查到脱口秀最开始可以溯源到18世纪英......