在 select 语句中查询得到的是一张二维, 水平方向上看是一个个字段, 垂直方向上看是一条条记录。作为面向对象的语言, Java 中的的对象是根据类定义创建的。 类之间的引用关系可以认为是嵌套的关系。在 mybatis 中, resultMap 节点定义了结果集和结果对象(JavaBean)之间的映射规则。本文主要讲解的是&nbsp
转载 8月前
31阅读
总结mybatis多表查询(注解方式)前言在之前的总结mybatis多表查询(xml方式)的博客中,已经对多表查询做了一定的介绍,而且总结了基于xml的mybatis多表查询,一些通用的技术点可以翻阅上一篇博客。这次我们总结基于注解的mybatis多表查询。数据库及关系为了方便查看,这里再次给出user和account一对多查询首先和xml方式一样,我们要在User实体类中添加List acc
转载 2024-09-26 17:22:23
393阅读
@TableName(名注解):属性 类型 必须指定 默认值 描述 1.value |String |否 |"" |名 2.schema |String |否 |""| schema 3.keepGlobalPrefix| boolean |否 |false |是否保持使用全局的 tablePrefix 的值(如果设置了全局 tablePrefix 且自行设置了 value 的值) 4.res
转载 2024-10-06 13:27:52
283阅读
简介尽管MybatisPlus (后文简称MP)相比较Mybatis丝滑了很多,但是,日常使用中,是否偶尔仍会怀念JPA(Hibernate)的那种纵享丝滑的感受,更好的一心投入业务开发中,如果你也是如此,那么恭喜你发现了MybatisPlusExt(后文简称MPE)。 MPE对MP做了进一步的拓展封装,即保留MP原功能,又添加更多有用便捷的功能。同样坚持与MP对Mybatis的原则,只做增强不做
Mybatis插件1、插件介绍开源框架一般都会提供插件或其他形式的扩展点,供开发自行拓展。这样的好处显而易见的,一是增加了框架的灵活性,二是开发者可以结合实际需求,对框架进行扩展,使其能够更好的工作。以mybatis为例,我们可以基于mybatis插件机制实现分页、分、监控等功能。由于插件和业务无关,业务也无法感知插件的存在。因此可以无感植入插件,在无形之中增强功能。2、Mybatis插件介绍M
Mybatis-Plus的有些注解和配置文件是相辅相成的,比如:@TableField的insertStrategy、updateStrategy等属性,如果没有单独设置,则就会跟随全局配置,具体的常用配置(.yml)在文章的后半部分有写。常用注解对于我来说最常用的注解有三个@TableName、@TableId、@TableField@TableName使用在实体类上,是名的注解,最常用的属性
转载 6月前
79阅读
目录一对一查询一对多查询自关联查询:多对多查询总结:三种关联关系:一对多,一对一,多对多两种查询方式:嵌套查询,连接查询(也可称作:多表单独查询,多表连接查询)每一种关联关系都可以通过嵌套查询和连接查询来实现。嵌套查询相当于进行了两次查询,而连接查询将两张连接然后再进行查询,这样只进行了一次查询由于数据要对实体类进行映射,所以每一种关联关系中都需要在java类中定义属性来进行关联,可以通过如图
转载 2024-03-29 15:50:09
595阅读
一、查询需求 (一)针对三张关联查询 1.班级 2.教师表 3.学生*一个班级配置一个教师,一个班级有多个学生 (二)按班级编号查询班级信息 要求查询到的班级带老师信息和该班学生信息 (三)查询全部班级信息 要求查询的班级信息只带老师的信息,不带学生信息 二、创建数据库 (一)创建教师表 执行SQL语句,创建教师表t_teacher 执行SQL语句,插入三条记录 打开教师表查看 (二)创建
转载 2024-08-08 19:43:52
87阅读
一、一对一关联  1.1、提出需求   根据班级id查询班级信息(带老师的信息) 1.2、创建和数据   创建一张教师表和班级,这里我们假设一个老师只负责教一个班,那么老师和班级之间的关系就是一种一对一的关系。 1 CREATE TABLE teacher( 2 t_id INT PRIMARY KEY AUTO_INCREMENT, 3 t_name V
转载 5月前
11阅读
MyBatisCodeHelper-Pro破解教程1.MyBatisCodeHelper下载安装1.下载2.安装离线安装模式,流程 File→Settings→Plugins→小齿轮→Install Plugins from Disk...→选择下载的文件3.激活离线激活→离线激活码→输入任意字符 (到期时间是随机的)2.MyBatisCodeHelper使用1.需要导入的maven依赖<d
转载 6月前
134阅读
Android——使用SQLiteDatabase操作SQLite数据库除了可以使用文件或SharedPreferences存储数据,还可以选择使用SQLite数据库存储数据. 在Android平台上,集成了一个嵌入式关系型数据库-SQLite,SQLite3支持 NUL ...hdu 3666 Making the Grade题目大意 给出了一列数,要求通过修改某些值,使得最终这列数变
转载 9月前
14阅读
封装输出结果: MyBatis执行sql语句,得到ResultSet, 转为java对象。1.resultType数据库t_user 数据库的字段用的是下划线分隔单词, 而对象属性用的是驼峰命名, 所以要在mybatis的主配置文件中开启驼峰命名映射<configuration> <settings> <!--开启驼峰命名映射-->
转载 2024-10-16 14:55:58
230阅读
MappedStatementMappedStatement 类是 Mybatis 框架的核心类之一,它存储了一个 sql 对应的所有信息 Mybatis 通过解析 XML 和 mapper 接口上的注解,生成 sql 对应的 MappedStatement 实例,并放入 SqlSessionTemplate 中 configuration 类属性中 正真执行 mapper 接口中的方法时,会从
转载 2024-10-11 10:19:13
234阅读
<!-- • if:判断• choose (when, otherwise):分支选择;带了break的swtich-case 如果带了id就用id查,如果带了lastName就用lastName查;只会进入其中一个• trim字符串截取(where(封装查询条件), set(封装修改条件))• foreach 遍历集合 --> <!-- 查询学生,要求,携带了哪个字段查询条件就
转载 2024-10-17 15:10:29
292阅读
mapper映射文件配置之select、resultMapmybatis通过resultMap能帮助我们很好地进行高级映射。下面就开始看看select 以及 resultMap的用法:<select <!-- 1. id (必须配置) id是命名空间中的唯一标识符,可被用来代表这条语句。 一个命名空间(namespace) 对应一个d
转载 2024-03-26 16:14:45
99阅读
动态SQL中#和$的区别为了性能考虑,相同的预编译sql可以重复利用,其次,${}在预编译之前已经被预编译替换了,这会存在sql注入问题,例如sql:Select * from ${tableName} where name=#{name};如果我们的参数tableName 为user,delete user;那么sql动态解析阶段之后,预编译之前的sql将变为:Select * from use
转载 2024-10-09 09:07:43
37阅读
       使用Mybatis开发Dao,通常有两个方法,即原始Dao开发方法和Mapper接口开发方法。 Mapper接口开发方式是基于入门程序的基础上,对 控制程序 进行分层开发,程序员只需要 编写mapper接口 和 Mappe.xml 配置文件即可,程序员编写mapper接口需要遵循一些开发规范,mybatis可以自动生成map
转载 5月前
23阅读
一、关于mysql的分页说明1、mysql当中的分页sql需要使用limit关键字。2、limit 语法格式:limit startIndex,pageSize startIndex :开始下标 pageSize:显示的记录条数select * from t car limit 0, 3; mysql当中起始行的下标从0开始。第一条记录的下标是03、计算下标 假设每页显示3条记录: 第1页:lim
转载 10月前
548阅读
文章目录 文章目录一、查询需求(一)针对三张关联查询(二)按班级编号查询班级信息(三)查询全部班级信息二、创建数据库(一)创建教师表(二)创建班级(三)创建学生三、创建与数据库对应的实体类(一)创建教师实体类(二)创建学生实体类(三)创建班级实体类四、创建班级映射器配置文件五、修改MyBatis配置文件六、定义班级映射接口ClazzMapper七、创建测试类TestClazzMapper
转载 2023-11-10 13:28:42
178阅读
 上篇系列7 介绍了insert、update、delete的用法,本篇将介绍select、resultMap的用法。select无疑是我们最常用,也是最复杂的,mybatis通过resultMap能帮助我们很好地进行高级映射。下面就开始看看select 以及 resultMap的用法: 先看select的配置: 1 <select 2 <!--
转载 2024-06-21 09:03:18
1035阅读
  • 1
  • 2
  • 3
  • 4
  • 5