[MyBatis系列⑥]注解开发

这篇具有很好参考价值的文章主要介绍了[MyBatis系列⑥]注解开发。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1、基本步骤

2、常用注解

3、复杂映射

3.1、一对一

3.1.1、xml回顾

3.1.2、注解

3.2、一对多

3.2.1、xml回顾

3.2.2、注解

3.3、多对多

3.3.1、xml回顾

3.3.2、注解

4、⭐注意事项


🍃作者简介:准大三本科网络工程专业在读,持续学习Java,努力输出优质文章

⭐MyBatis系列①:增删改查

⭐MyBatis系列②:两种Dao开发方式

⭐MyBatis系列③:动态SQL

⭐MyBatis系列④:核心配置文件详解

⭐MyBatis系列⑤:多表查询

1、基本步骤

步骤如下:

编写接口,在接口方法上面使用对应的注解,配置相应的SQL语句

编写测试方法

在mybatis核心配置文件中修改映射信息。

2、常用注解

首先是基本的CRUD来学习,后面再介绍复杂映射多表操作。

注解

说明

@Insert

实现新增

@Update

实现更新

@Delete

实现删除

@Select

实现查询

@Result

实现结果集封装

@Results

可以与@Result 一起使用,封装多个结果集

@One

实现一对一结果集封装

@Many

实现一对多结果集封装

代码如下:

①接口及其接口方法:

[MyBatis系列⑥]注解开发,JavaEE,数据库,mybatis,mysql,sql,java-ee,Java,注解

②测试方法:

[MyBatis系列⑥]注解开发,JavaEE,数据库,mybatis,mysql,sql,java-ee,Java,注解

③核心配置文件加载映射:

[MyBatis系列⑥]注解开发,JavaEE,数据库,mybatis,mysql,sql,java-ee,Java,注解

3、复杂映射

实现复杂关系映射之前可以在映射文件中通过配置<resultMap>来实现,使用注解开发后,可以使用@Results注解 ,@Result注解,@One注解,@Many注解组合完成复杂关系的配置。

注解

说明

@Results

代替的是标签该注解中可以使用单个@Result注解,也可以使用@Result集合。

使用格式:

@Results( {@Result (),@Result () } )

@Results( @Result () )

@Result

代替了<id>标签和<result>标签

@Result 中属性介绍 :

- column:数据库的列名
- property:需要装配的属性名
- one:需要使用的@One 注解(@Result(one=@One) ()))
- many:需要使用的@Many 注解(@Result(many=@many)()))

@One (一对一)

代替了<assocation>标签,是多表查询的关键,在注解中用来指定子查询返回单一对象。

@One 注解属性介绍 :

- select: 指定用来多表查询的 sqlmapper

使用格式:@Result(column="",property="",one=@One(select=""))

@Many (多对一)

代替了<collection>标签, 是多表查询的关键,在注解中用来指定子查询返回对象集合。

使用格式:@Result(property="",column="",many=@Many(select=""))

3.1、一对一

用户表和订单表的关系为,一个用户有多个订单,一个订单只从属于一个用户。

一对一查询的需求:查询一个订单,与此同时查询出该订单所属的用户

[MyBatis系列⑥]注解开发,JavaEE,数据库,mybatis,mysql,sql,java-ee,Java,注解

3.1.1、xml回顾

在使用xml配置的时候,对应的sql语句为:

select ordersquery.*, userquery.username,userquery.`password`,userquery.birthday from ordersquery, userquery where ordersquery.userID = userquery.id;

[MyBatis系列⑥]注解开发,JavaEE,数据库,mybatis,mysql,sql,java-ee,Java,注解

[MyBatis系列⑥]注解开发,JavaEE,数据库,mybatis,mysql,sql,java-ee,Java,注解

3.1.2、注解

使用注解配置的时候,需要把之前的SQL语句一分为二:

[MyBatis系列⑥]注解开发,JavaEE,数据库,mybatis,mysql,sql,java-ee,Java,注解

[MyBatis系列⑥]注解开发,JavaEE,数据库,mybatis,mysql,sql,java-ee,Java,注解

[MyBatis系列⑥]注解开发,JavaEE,数据库,mybatis,mysql,sql,java-ee,Java,注解

3.2、一对多

用户表和订单表的关系为,一个用户有多个订单,一个订单只从属于一个用户

一对多查询的需求:查询一个用户,与此同时查询出该用户具有的订单

[MyBatis系列⑥]注解开发,JavaEE,数据库,mybatis,mysql,sql,java-ee,Java,注解

3.2.1、xml回顾

在使用xml配置的时候,对应的sql语句为:

select userquery.*,ordersquery.id as orderID,ordersquery.ordertime,ordersquery.total from userquery left join ordersquery on userquery.id = ordersquery.userID;

[MyBatis系列⑥]注解开发,JavaEE,数据库,mybatis,mysql,sql,java-ee,Java,注解

[MyBatis系列⑥]注解开发,JavaEE,数据库,mybatis,mysql,sql,java-ee,Java,注解

3.2.2、注解

使用注解配置的时候,需要把之前的SQL语句一分为二:

[MyBatis系列⑥]注解开发,JavaEE,数据库,mybatis,mysql,sql,java-ee,Java,注解

[MyBatis系列⑥]注解开发,JavaEE,数据库,mybatis,mysql,sql,java-ee,Java,注解

[MyBatis系列⑥]注解开发,JavaEE,数据库,mybatis,mysql,sql,java-ee,Java,注解

3.3、多对多

用户表和角色表的关系为,一个用户有多个角色,一个角色被多个用户使用

多对多查询的需求:查询用户同时查询出该用户的所有角色

[MyBatis系列⑥]注解开发,JavaEE,数据库,mybatis,mysql,sql,java-ee,Java,注解

3.3.1、xml回顾

在使用xml配置的时候,对应的sql语句为:

select userquery.id,userquery.username,userquery.`password`,userquery.birthday,rolequery.id AS roleID,rolequery.rolename from userquery LEFT JOIN user_role ON userquery.id = user_role.user_id INNER JOIN rolequery ON user_role.role_id = rolequery.id;

[MyBatis系列⑥]注解开发,JavaEE,数据库,mybatis,mysql,sql,java-ee,Java,注解

[MyBatis系列⑥]注解开发,JavaEE,数据库,mybatis,mysql,sql,java-ee,Java,注解

3.3.2、注解

使用注解配置的时候,需要把之前的SQL语句一分为二:

[MyBatis系列⑥]注解开发,JavaEE,数据库,mybatis,mysql,sql,java-ee,Java,注解

[MyBatis系列⑥]注解开发,JavaEE,数据库,mybatis,mysql,sql,java-ee,Java,注解

[MyBatis系列⑥]注解开发,JavaEE,数据库,mybatis,mysql,sql,java-ee,Java,注解

4、⭐注意事项

在使用注解的时候,不管是“一对一”、“一对多”还是“多对多”,都涉及到一个“对独立的@Result封装”的过程,其中有一个参数为column,这个传的是数据库类型,但是传的是来源于第一条SQL查询的数据库的表单,如下:

[MyBatis系列⑥]注解开发,JavaEE,数据库,mybatis,mysql,sql,java-ee,Java,注解

🍁行文至此,烦请给个三连支持一下。

🍁您的三连支持,是我创作的最大动力文章来源地址https://www.toymoban.com/news/detail-679355.html

到了这里,关于[MyBatis系列⑥]注解开发的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 软件开发项目文档系列之八数据库设计说明书

    数据库设计说明书是一个关键文档,它提供了有关数据库的详细信息,包括设计、结构、运行环境、数据安全、管理和维护等方面的内容。 引言部分,简要介绍数据库设计说明书的目的和内容。这部分通常包括以下内容: 引言的目的:解释为什么需要数据库设计说明书,它

    2024年02月06日
    浏览(69)
  • 14、JavaEE--Mybatis注解与Ajax技术

    目录 单表注解 @Param注解 基于注解的一对一关联查询(one) 一对多查询(many) Ajax的概念 Ajax 开发 Ajax的核心代码: Ajax五步使用法 步骤1 创建 XMLHttpRequest 对象 步骤2 指定异步提交的目标和提交方式 步骤3 指定 XMLHttpRequest对象状态改变时,需要进行的处理 步骤4 编写处理代码

    2024年02月06日
    浏览(63)
  • JavaEE-博客系统1(数据库和后端的交互)

    本部分内容包括网站设计总述,数据库和后端的交互; 数据库操作代码如下: DBUtil.java blog.java user.java blogDao.java userDao.java

    2024年02月07日
    浏览(31)
  • 【JavaEE基础学习打卡04】JDBC之MySQL数据库安装

    📜 本系列教程适用于JavaWeb初学者、爱好者,小白白。我们的天赋并不高,可贵在努力,坚持不放弃。坚信量最终引发质变,厚积薄发。 🚀 文中白话居多,尽量以小白视角呈现,帮助大家快速入门。 🎅 我是 蜗牛老师 ,之前网名是 Ongoing蜗牛 ,人如其名,干啥都慢,所以

    2024年02月12日
    浏览(41)
  • 记一次eclipse导入的JavaEE项目无法连接数据库的排查

    Eclipse导入了一个JavaEE项目 在虚拟机环境中新建了一个数据库 数据库可以使用本地客户端工具正常连接 导入的JavaEE项目修改了数据源配置后无法启动 相同的数据源配置通过在Idea新建的测试项目可以访问 具体报错如下: +++++++++++++++++++++++++++++分割线+++++++++++++++++++++++++++++ 修改

    2024年02月10日
    浏览(51)
  • 认识 MyBatis + MyBatis如何使用 (MyBatis操作数据库)

    本篇介绍了什么是MyBatis,MyBatis的前期配置,MyBatis操作数据库的两种方式:.xml文件 / 注释,使用MyBatis的一些注意,如有错误,请在评论区指正,让我们一起交流,共同进步! 本文开始 MyBatis(ORM: 对象关系映射框架): 一个持久层框架,也是一个工具实现程序与数据库交互,

    2024年02月14日
    浏览(59)
  • MyBatis查询数据库

    1.定义 :         MyBatis是一款优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。         MyBatis去除了几乎所有的JDBC代码以及设置参数和获取结果集的工作。         MyBatis可以通过简单的XML或注解来配置和映射原始类型、接口和Java POJO (Plain Old Java

    2024年02月04日
    浏览(42)
  • MyBatis操作数据库

    MyBatis 是⼀款优秀的 持久层框架 ,它⽀持⾃定义 SQL、存储过程以及⾼级映射。MyBatis 去除了⼏乎所有的 JDBC 代码以及设置参数和获取结果集的⼯作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接⼝和 Java POJO(Plain Old Java Objects,普通⽼式 Java 对象)为数据库中的

    2024年02月16日
    浏览(52)
  • MyBatis查询数据库(1)

    ❤️❤️❤️SSM专栏更新中,各位大佬觉得写得不错,支持一下,感谢了!❤️❤️❤️ Spring + Spring MVC + MyBatis_冷兮雪的博客-CSDN博客 经过前⾯的学习咱们 Spring 系列的基本操作已经实现的差不多了,接下来,咱们来学习更重要的知识,将前端传递的数据存储起来,或者查询

    2024年02月15日
    浏览(75)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包