MyBatis
菜鸟驿站ㅤ
这个作者很懒,什么都没留下…
展开
-
Mybatis之collection标签嵌套查询(select)的写法
业务:查询一种商品,展示该商品多种规格。GroupDetailsVo :package com.community.api.vo;import java.io.Serializable;import java.math.BigDecimal;import java.util.Date;import java.util.List;import lombok.Data;/**...原创 2019-11-29 16:07:57 · 25980 阅读 · 12 评论 -
SSM框架面试题之Mybatis面试题
1、Ibatis和Mybatis?Ibatis:2010年,apache的Ibatis框架停止更新,并移交给了google团队,同时更名为MyBatis。从2010年后Ibatis在没更新过,彻底变成了一个孤儿框架。一个没人维护的框架注定被mybatis拍在沙滩上。Mybatis:Ibatis的升级版本。2、什么是Mybatis的接口绑定,有什么好处?Mybatis实现了DAO接口与xml映...原创 2019-09-30 10:39:50 · 646 阅读 · 0 评论 -
MyBatis传入参数为数组、list的写法
1.主要用到了一个foreach标签实现sql条件的循环,完成类似批量的sql。foreach是对一个集合进行遍历,通常是在构建 IN 条件语句的时候。foreach元素的属性主要有 item,index,collection,open,separator,close。item:表示集合中每一个元素进行迭代时的别名index:用于表示在迭代过程中,每次迭代到的位置collection:指...原创 2019-08-09 09:10:00 · 15912 阅读 · 3 评论 -
MyBatis的Example类详解
关于Example类的定义?mybatis-generator会为每个字段产生Criterion,为底层的mapper.xml创建动态sql。如果表的字段比较多,产生的example类会十分庞大。理论上通过example类可以构造你想到的任何筛选条件。在mybatis-generator中加以配置,配置数据表的生成操作就可以自动生成example了。这里对定义类型的不再过多解释,直接上干货。...原创 2019-07-29 12:19:39 · 7741 阅读 · 0 评论 -
Mybatis中的#{}和${}符号的区别
1.#{}相当于对数据加上双引号,表示一个占位符号。通过#{}可以实现preparedStatement向占位符中设置值,自动进行java类型和jdbc类型转换,#{}可以有效防止sql注入。#{}可以接收简单类型值或pojo属性值。如果parameterType传输单个简单类型值,#{}括号中可以是value或其它名称。将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:o...转载 2018-09-13 11:27:57 · 4206 阅读 · 0 评论 -
Mybatis之高级映射【多对多映射】
多对多映射 四张表关联查询。 业务需求:查询用户的信息,以及它所购买商品的订单信息、商品信息 业务分析:通过查询user表,查找到orders,通过orders表查找到对应的orderdetail,通过orderdetail表查到对应items。 user-用户表 、orders-订单表 、orderdetail-订单明细表 、items-商品表1.创建实体类pojo a.建立用户表...原创 2018-09-13 10:36:51 · 536 阅读 · 1 评论 -
Mybatis之高级映射【一对多映射】
一对多映射(两种方式) 三张表关联查询。当然resultType也能实现,需要将所查询的信息定义到一个pojo(详情见一对一映射中的resultType),这里讲的是resultMap。 需求:查询人员、部门信息并关联查询其父级部门信息。 随意定义数据库的三张表:人员表: 部门表: 父级部门表: 方式一:association (一对一映射)+collection(一对...原创 2018-09-12 18:07:37 · 5758 阅读 · 1 评论 -
Mybatis之高级映射【一对一映射】
1.一对一映射 两表关联查询。有两种方案:映射文件中输出映射使用resultType或者resultMap。 需求:查询人员信息并关联其部门。 数据库两张表: 人员表: 部门表: (1.)使用resultType映射: a.建立部门表的pojo:package com.example.data;public class Dept { private Strin...原创 2018-09-12 15:31:01 · 2215 阅读 · 1 评论 -
Mybatis之动态SQL解析
Mybatis动态Sql实现的元素主要有: 1.if 2.if-where 3.if-set 4.choose, when, otherwise 5.trim 6.foreach 说明:涉及比较复杂的业务需求时,需要应用mybatis的动态SQL,即通过 if, choose, when, otherwise, trim, where, set, foreach等标签组合sql语句。...原创 2018-09-11 16:42:40 · 1423 阅读 · 0 评论 -
Mybatis之XML映射文件
MyBatis 针对 SQL 构建,真正强大在于它的映射语句。 SQL 映射文件有很少的几个顶级元素(按照它们应该被定义的顺序): cache – 给定命名空间的缓存配置。 cache-ref– 其他命名空间缓存配置的引用。 resultMap – 是最复杂也是最强大的元素,用来描述如何从数据库结果集中来加载对象。 sql – 可被其他语句引用的可重用语句块。 insert – 映射插...翻译 2018-09-10 17:41:11 · 875 阅读 · 0 评论 -
Mybatis之输出映射resultType与resultMap比较
一、概述 MyBatis中查询进行select映射,对于SQL语句返回结果的处理通常有两种方式:一种是resultType,另一种是resultMap。 resultType是直接表示返回类型的,而resultMap则是对外部ResultMap的引用,但是resultType跟resultMap不能同时存在。在MyBatis进行查询映射时,其实查询出来的每一个属性都是放在一个对应的Map里面的...原创 2018-09-11 11:31:36 · 4023 阅读 · 0 评论