![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mybatis
文章平均质量分 87
许夜3
这个作者很懒,什么都没留下…
展开
-
Mybatis实用功能——动态数据源
一、动态数据源动态数据源是一个很实用的功能,能够在运行时切换数据源执行不同的数据库操作,下文将通过spring整合Mybatis手写一个动态数据源,主要使用到的技术有AOP、静态代理模式,本文主要内容是动态数据源,对于其它边边角角的内容不多阐述。二、步骤spring boot配置文件:logging: level: com.my.dynamicdatasourc...原创 2020-04-07 23:05:52 · 1891 阅读 · 0 评论 -
Mybatis从入门到精通——分页插件pagehelper的使用(20)
一、pagehelper分页插件pagehelper是一个开源的基于Mybatis拦截器开发的通用分页插件工具,一般项目中也是使用这个。具体的项目地址:https://github.com/pagehelper/Mybatis-PageHelper具体的使用说明:https://github.com/pagehelper/Mybatis-PageHelper/blob/master/R...原创 2020-03-09 21:09:11 · 383 阅读 · 0 评论 -
Mybatis从入门到精通——插件和拦截器的使用(19)
一、Mybatis插件和拦截器的使用在Mybatis中,插件是通过实现拦截器接口进行拦截操作而完成的,也就是说插件是基于Mybatis拦截器的,Mybatis中拦截器的接口为Interceptor,该拦截器能够对Mybatis内部运行的四大接口的方法进行拦截,四大接口分别为:Executor、StatementHandler、ResultSetHandler、ParameterHandler。...原创 2020-03-09 20:49:47 · 535 阅读 · 2 评论 -
Mybatis从入门到精通——TypeHandler的使用(18)
一、TypeHandlerTypeHandler是Mybatis提供的一个JdcbType和JavaType之间互相转换的处理器,用于在传参和返回值设置时进行转换,使用在result、id这类返回值映射标签上,一般不需要进行转换,因为Mybatis已经提供了足够多且常用的TypeHandler。二、案例案例说明:对于枚举的转换,Mybatis是没有提供的,我们需要把数据库中s...原创 2020-03-09 18:08:51 · 594 阅读 · 0 评论 -
Mybatis从入门到精通——返回Map处理(17)
一、返回Map处理在Mybatis中,支持返回值为Map<K,V>的操作,如果需要返回值为Map时,在Mapper接口的该方法上添加@MapKey(value="属性名")注解,则会把结果集按照Map返回,并且key为@MapKey上设置的属性。二、案例mapper映射文件:<?xml version="1.0" encoding="UTF-8"?>...原创 2020-03-09 17:28:47 · 383 阅读 · 0 评论 -
Mybatis从入门到精通——二级缓存和一级缓存(16)
一、一级缓存和二级缓存程序中缓存对系统效率的提升是极大的,在Mybatis中,缓存分别为一级缓存和二级缓存,其中一级缓存是默认开启的,二级缓存需要手动开启。二、一级缓存说明:1.Mybatis的一级缓存是默认开启的。2.若要停止Mybatis的一级缓存可以通过设置select标签上的flushCache属性为true,会每一次执行完查询就情况一级缓存。3.一级缓存的生...原创 2020-03-09 17:05:35 · 164 阅读 · 0 评论 -
Mybatis从入门到精通——鉴别器使用(16)
一、鉴别器Mybatis的鉴别器(discriminator)是ResultMap的子标签,它提供了可以根据不同结果信息执行不同查询操作,只能用于分步查询中。二、使用说明1.查询结果集:<resultMap id="testResultMap" type="xxx" extends="xxx"> <id property="" column="" /&g...原创 2020-03-09 16:21:05 · 726 阅读 · 0 评论 -
Mybatis从入门到精通——分步查询(14)
一、分步查询在使用到多表关联查询时,经常会碰到多对多,一对多和一对一的级联操作,在Mybatis中通过resultMap标签下的association和collection解决级联操作的问题。级联操作分为:关联查询和分步关联查询,本文介绍分步查询,如需学习关联查询,请看上一篇博客。二、表关系说明user表结构和数据:DROP TABLE IF EXISTS `user`;C...原创 2020-03-09 15:09:13 · 485 阅读 · 0 评论 -
Mybatis从入门到精通——MGB代码生成器(12)
一、MGB(MyBatis Generator)代码生成器在Mybatis中,对于单表操作,其实都是一个类似的重复操作,Mybatis提供了代码生成器,用于生成Mybatis的mapper接口和mapper.xml文件以及对应的实体类。二、使用教程1.添加插件到maven <plugin> ...原创 2020-03-09 11:41:19 · 572 阅读 · 0 评论 -
Mybatis从入门到精通——批量操作(11)
一、批量操作在某些场景下需要进行批量操作,如批量插入多少条数据等,在Mybatis中共有两种方式进行批量操作,第一种是使用foreach标签一次性插入多条;第二种是使用BATCH执行器,每次提交一条,到达一定数量后手动一次性提交。二、foreach批量操作mapper文件: <insert id="insertPersonList" > i...原创 2020-03-09 11:39:54 · 165 阅读 · 0 评论 -
Mybatis从入门到精通——关联查询(13)
一、一步关联查询在使用到多表关联查询时,经常会碰到多对多,一对多和一对一的级联操作,在Mybatis中通过resultMap标签下的association和collection解决级联操作的问题。关联查询分为:一步关联查询和分步关联查询,本文介绍一步关联查询,如需学习分步关联查询,请看下一篇博客。二、表关系说明user表结构和数据:DROP TABLE IF EXIST...原创 2020-03-09 11:38:50 · 342 阅读 · 0 评论 -
Mybatis从入门到精通——动态SQL标签(10)
一、动态sql标签作用动态SQL标签是Mybatis的一大特色,通过使用动态SQL标签可以完成一些稍微复杂的操作和简化开发。动态SQL标签主要包括:if、where、set、trim、choose-when-otherwise、foreach,下面将对每个标签进行说明。二、where标签说明:where标签一般和if标签搭配使用,用于sql中存在多余字符and或or的问题,当...原创 2020-03-08 19:54:25 · 304 阅读 · 0 评论 -
Mybatis从入门到精通——sql标签(9)
一、sql标签作用该标签是用来定义一些可复用的sql语句,需要在使用该复用sql语句的地方通过include标签引用。二、准备工作1.maven依赖 <dependencies> <!-- mysql驱动 --> <dependency> <groupId&g...原创 2020-03-08 17:32:35 · 486 阅读 · 0 评论 -
Mybatis从入门到精通——selectKey标签(8)
一、selectKey标签作用该标签是用来定义insert、update中主键生成的策略,在执行insert或update操作的之前或之后生成自定义主键。二、selectKey标签属性序号 属性名 说明 1 resultType 该查询返回主键的类型(一般是Integer或String) 2 keyProperty...原创 2020-03-08 17:14:00 · 1883 阅读 · 0 评论 -
Mybatis从入门到精通——update、insert、delete标签(7)
一、update标签属性说明序号 属性名 说明 1 id 和mapper的命名空间结合后应该是唯一的,所以不能有重载的方法。 2 parameterType 传入的参数类型,可以写全类名或者写Mybatis提供的别名(一般我们能想到的别名都有),自定义的类,如果定义了别名可以使用别名。...原创 2020-03-08 16:50:16 · 665 阅读 · 0 评论 -
Mybatis从入门到精通——select标签(6)
1.select标签属性序号 属性名 说明 1 id 和mapper的命名空间结合后应该是唯一的,所以不能有重载的方法。 2 parameterType 传入的参数类型,可以写全类名或者写Mybatis提供的别名(一般我们能想到的别名都有),自定义的类,如果定义了别名可以使用别名。 ...原创 2020-03-08 16:38:51 · 229 阅读 · 0 评论 -
Mybatis从入门到精通——参数传递(5)
一、准备工作1.maven依赖 <dependencies> <!-- mysql驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connec...原创 2020-03-08 14:16:51 · 173 阅读 · 0 评论 -
Mybatis从入门到精通——配置文件和映射文件说明(4)
一、mybatis-config配置说明mybatis-config的configuration标签下的常用子标签说明序号 标签名 说明 1 properties 引入外部配置文件,可以通过${}表达式引用 2 settings 设置Mybatis的全局配置属性,它能改变Mybatis运行时行为 3 type...原创 2020-03-08 13:23:43 · 184 阅读 · 0 评论 -
Mybatis从入门到精通——Mybatis快速使用(3)
一、准备工作1.maven依赖 <dependencies> <!-- mysql驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connec...原创 2020-03-08 12:31:48 · 138 阅读 · 0 评论 -
Mybatis从入门到精通——JDBC使用回顾(2)
一、简要说明不管是Mybatis还是Hibernate都是对JDBC的二次封装,在使用JDBC之前,我们先回顾一下JDBC的使用。二、准备工作1.maven依赖 <!-- mysql驱动 --> <dependency> <groupId>mysql</groupId...原创 2020-03-08 12:02:35 · 145 阅读 · 0 评论 -
Mybatis从入门到精通——简介(1)
一、ORM框架Object Relational Mapping:对象关系映射,是一种为了解决面向对象与关系型数据库存在不匹配现象的技术,简单说,orm通过描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系型数据库中。目前java开发中常用的ORM框架为半自动化的Mybatis和全自动的Hibernate。二、Mybatis和Hibernate对比对比信息如下图...原创 2020-03-08 11:31:22 · 210 阅读 · 0 评论