
【MyBatis】
文章平均质量分 76
MyBatis从入门到精通,实例讲解 源码分析
小小工匠
show me the code ,change the world
展开
-
Spring-Spring整合MyBatis详解
概述项目结构配置SQLMapClient在Spring中配置MyBatis编写Mybatis的DAO使用SqlSessionTemplate使用映射接口源码概述使用Mybatis提供的ORM机制,面对具体的数据操作,Mybatis要求开发者编程具体的SQL语句。 相对于Hibernate等全自动的ORM机制而言,Mybatis在开发的工作量和数据库移植性上做出了让步,为数据持久化操作提原创 2017-10-02 03:54:50 · 17411 阅读 · 0 评论 -
MyBatis-21MyBatis高级结果映射【一对多映射(2种方式)】
概述collection集合的嵌套结果映射SysUse实体类改造UserMapper接口增加接口方法UserMapper.xml单元测试MyBatis的处理规则两层嵌套PrivilegeMap.xml增加映射SysRole实体类改造RoleMapper.xml文件中增加如下resultMapUserMapper.xml改造单元测试collection集合的嵌套...原创 2018-05-02 14:04:49 · 16994 阅读 · 3 评论 -
MyBatis-15MyBatis动态SQL之【bind】
概述用法示例1.增加接口方法2.配置动态SQL3.单元测试概述bind标签可以使用OGNL表达式创建一个变量并将其绑定到上下文中。 用法我们用之前的一个例子作为讲解<select id="selectSysUsersAdvancedWithWhere" resultType="com.artisan.mybatis.xml.domain....原创 2018-04-25 09:06:00 · 25735 阅读 · 4 评论 -
MyBatis-22MyBatis缓存配置【一级缓存】
概述一级缓存概述 使用缓存可以使应用更快的获取数据,避免频繁的数据库交互,尤其是在查询越多、缓存命中率越高的情况下,使用缓存的作用就越明显。 MyBatis作为持久化框架,提供了非常强大的查询缓存特性,可以非常方便的配置和定制使用。一般提到MyBatis的缓存,都是指二级缓存。 一级缓存(也叫本地缓存)默认会启用,并且不能控制,因此很少提到, 这里仅仅是介绍下一级...原创 2018-05-03 13:13:19 · 17629 阅读 · 2 评论 -
MyBatis-16MyBatis动态SQL之【支持多种数据库】
概述配置1.MyBatis全局配置文件增加2.映射文件中的标签调整包含databaseId属性示例增加个查询当前时间的接口编写映射文件单元测试注意事项概述MyBatis-15MyBatis动态SQL之【bind】 bind标签并不能解决更换数据库带来的所有问题。 那么还有没其他的方式来支持不同的数据库呢 ? 答案是 使用if标签以及由MyBati...原创 2018-04-27 13:42:11 · 19164 阅读 · 0 评论 -
MyBatis-17MyBatis代码生成器(逆向工程)MBG使用
概述参考配置实例运行 MyBatis Generator概述我们前面的博文中了解了MyBatis的基本用法,也写了很多单表的CRUD方法,基本上每个表都需要用到这些方法,这些方法都很规范而且比较类似。当数据库表的字段较少时,写起来还能接受,一旦字段过多或者需要在很多个表中写这些基本方法的时候,是不是很崩溃?MyBatis开发团队提供了一个很强大的代码生成器—My...原创 2018-04-28 06:23:59 · 18335 阅读 · 1 评论 -
MyBatis-23MyBatis缓存配置【二级缓存】
概述二级缓存的配置全局开关cacheEnabledMapper.xml中配置二级缓存Mapper接口中配置二级缓存只使用注解方式配置二级缓存同时使用注解方式和XML映射文件时二级缓存的使用前提:实体类实现Serializable接口示例实体类SysPrivilege实现Serializable接口PrivilegeMapper接口类增加接口方法Privilege...原创 2018-05-07 12:00:39 · 17793 阅读 · 1 评论 -
MyBatis-18MyBatis代码生成器-Example讲解
概述示例generatorConfig-country.xml编写Java运行代码运行获取自动生成的代码修改 MyBatis全局配置文件 mybatis-config.xml修改log4j编写单元测试了解Example的相关用法selectByExampleupdateByExampleSelectivedeleteByExample+countByExample...原创 2018-04-29 03:57:57 · 27380 阅读 · 9 评论 -
MyBatis-19MyBatis代码生成器-XML配置详解
概述XML文件头根节点generatorConfiguration及三个子元素(properties、classPathEntry、context)properties子元素 (0…1)classPathEntry子元素 (0…N)context子元素 (1…N)深入了解context元素context 可选属性context 子元素property (0..N)p...原创 2018-04-29 04:36:58 · 17468 阅读 · 2 评论 -
MyBatis-24MyBatis缓存配置【集成EhCache】
概述EhCache概述特点EhCache架构图示例1.添加mybatis-ehcache依赖2. 配置EhCache3.修改PrivilegeMapper.xml中的缓存配置4.单元测试概述Spring Cache抽象-基于XML的配置声明(基于EhCache的配置)Spring Cache抽象-使用Java类注解的方式整合EhCache...原创 2018-05-08 03:57:00 · 15071 阅读 · 1 评论 -
MyBatis-25MyBatis缓存配置【集成Redis】
概述集成步骤1.添加项目依赖2. 配置redis3. 修改PrivilegeMapper.xml中的缓存配置其他缓存框架概述Redis是一个高性能的key-value数据库MyBatis项目开发者提供了Redis的MyBatis二级缓存实现,项目名称为redis-cache.项目地址https://github.com/mybatis/redis-...原创 2018-05-08 08:23:37 · 15899 阅读 · 1 评论 -
Spring Boot2.x-08Spring Boot2.1.2 整合 Mybatis1.3.2 + 通用Mapper2.1.4 + PageHelper1.2.10 + Druid 1.1.10
文章目录概述整合 MyBatis整合 通用Mapper2.1.4及 PageHelper1.2.10添加依赖通用mapper 编写application.yml增加配置集成验证测试整合Druid (纯配置文件)添加依赖application.yml增加配置集成验证测试代码概述官方指导:https://github.com/abel533/MyBatis-Spring-Boot不过版本较低,我...原创 2019-01-23 22:58:08 · 16022 阅读 · 1 评论 -
Spring Boot2.x-07Spring Boot2.1.2整合Mybatis
文章目录概述搭建Spring Boot工程 Version 2.1.2.RELEASE概述废话不多说了,直接撸吧 ,先看看整体的结构搭建Spring Boot工程 Version 2.1.2.RELEASEpom.xml<?xml version="1.0" encoding=&原创 2019-01-22 00:26:23 · 19298 阅读 · 2 评论 -
Spring Boot2.x-09 基于Spring Boot 2.1.2 + Mybatis使用自定义注解实现数据库切换
文章目录概述场景说明概述之前总结过一篇基于Spring的 数据库切换的文章:Spring-基于Spring使用自定义注解及Aspect实现数据库切换 ,新的项目一般都直接采用SpringBoot开发了,那我们也用Spring Boot来整一版吧。用到的东西包含: Spring Boot + Mybatis + Druid + MySql + lombok 等鉴于我们是整合了Spring ...原创 2019-02-02 00:18:10 · 16664 阅读 · 0 评论 -
SSM-Spring+SpringMVC+MyBatis整合案例从0到1
概述新建Maven项目概述通过半个多月的梳理,MyBatis我们已经能够使用,下面我们来说下SSM的整合。整合SSM,需要用到MyBatis-Spring。MyBatis-Spring可以将MyBatis代码无缝整合到Spring中,使用这个类库中的类,Spring将会加载必要的MyBatis工厂类和Session类。 这个类库也提供了一种简单的方式将MyBati...原创 2018-05-09 06:14:40 · 15492 阅读 · 0 评论 -
MyBatis-11MyBatis动态SQL之【if】
动态SQL概述if概述在WHERE条件中使用if需求1.UserMapper接口中增加接口方法2.UserMapper.xml配置动态SQL3.单元测试在UPDATE条件中使用if需求1.UserMapper接口中增加接口方法2.UserMapper.xml配置动态SQL3.单元测试在INSERT动态插入列中使用if需求1.UserMapper接口中增加接口...原创 2018-04-20 06:22:35 · 15380 阅读 · 0 评论 -
MyBatis-10MyBatis注解方式之Provider注解
概述@SelectProvider1.开发PrivilegeProvider类2.PrivilegeMapper接口增加接口方法3.单元测试小结概述除了@Select @Insert @Update @Delete四种注解可以使用简单的SQL外,MyBatis还提供了4中Provider注解,分别是 @SelectProvider @InsertProv...原创 2018-04-19 16:02:12 · 23039 阅读 · 0 评论 -
MyBatis-01 MyBatis入门篇
Mybatis概述演示数据原生JDBC问题总结原生JDBC存在的问题Mybatis架构入门示例创建Maven项目数据库及数据配置mybatis创建实体类和Mappe.xml文件配置Log4j以便查看Mybatis的操作过程编写单元测试运行Mybatis解决jdbc编程的问题总结Mybatis概述MyBatis 本是apache的一个开源项目iBa...原创 2018-04-10 14:16:07 · 15680 阅读 · 0 评论 -
MyBatis-03 MyBatis XML方式之select元素
概述select用法根据用户id查询用户信息1.UserMapper接口中添加接口方法2. UserMapper.xml中配置resultMap和select元素查询全部的SysUser添加接口方法配置UserMapper.xml单元测试基础测试类BaseMapperTest全局属性mapUnderscoreToCamelCase1.增加UserMapper接...原创 2018-04-16 03:13:49 · 26719 阅读 · 0 评论 -
MyBatis-04 MyBatis XML方式之insert元素
insert概述简单的insert用法1. UserMapper中添加接口方法2. UserMapper.xml 添加节点3. 编写单元测试使用JDCB方式返回主键自增的值1.UserMapper接口增加接口方法2.UserMapper.xml 配置3.单元测试使用selectKey返回主键的值1.UserMapper接口增加接口方法2.UserMapper.xm...原创 2018-04-16 06:33:36 · 24165 阅读 · 2 评论 -
MyBatis-05 MyBatis XML方式之update/delete元素
概述update 用法UserMapper接口中增加接口方法UserMapper.xml中配置update 元素单元测试delete用法UserMapper接口中增加接口方法UserMapper.xml中配置delete元素单元测试概述接着上篇博客 Mybatis-04Mybatis XML方式之insert元素,我们接着来学习 update和de...原创 2018-04-16 12:58:05 · 26831 阅读 · 4 评论 -
MyBatis-06 MyBatis XML方式之多个接口参数用法
概述模拟场景:根据用户ID和角色的enable状态来查询用户的所有角色工程结构多个基本类型参数的场景1.UserRoleMapper接口增加接口方法2.UserRoleMapper.xml配置查询语句3.单元测试修复多个参数为JavaBean类型场景1. UserRoleMapper接口增加接口方法2.UserRoleMapper.xml配置SQL3.单元测试...原创 2018-04-17 08:04:11 · 16799 阅读 · 1 评论 -
MyBatis-07MyBatis注解方式之@Select
概述@Select注解通过数据库字段别名方式映射到实体类属性1. RoleMapper接口增加接口方法,同时标注注解2.单元测试通过mapUnderscoreToCamelCase完成数据库字段到实体类属性的映射1.MyBatis全局文件settings节点增加如下配置2. RoleMapper接口增加接口方法,同时标注注解3.单元测试通过@Results / @Re...原创 2018-04-18 10:00:28 · 59210 阅读 · 2 评论 -
MyBatis-12MyBatis动态SQL之【choose when otherwise】
概述需求实现步骤1.UserMapper接口中添加接口方法2.UserMapper.xml中添加动态SQL3.单元测试概述我们在if标签的博文MyBatis-11MyBatis动态SQL之【if】 中介绍了if的在select、update、delete中的用法,可以实现基本的条件判断, 但是却无法实现 if…else ,if ….else….的逻辑。想...原创 2018-04-22 08:04:30 · 15897 阅读 · 0 评论 -
MyBatis-13MyBatis动态SQL之【where、set、trim】
概述where 作用及用法作用用法set 作用及用法作用用法trim 作用及用法概述where set trim 这3个标签解决了类似的问题,并且where 和 set 都属于trim的一种具体用法,下面我们通过具体的示例来学习下。where 作用及用法作用作用:如果该标签包含的元素中有返回值,就插入一个where ...原创 2018-04-22 09:33:39 · 15324 阅读 · 0 评论 -
MyBatis-14MyBatis动态SQL之【foreach】
概述foreach实现in集合1.需求2.UserMapper接口增加接口方法3.UserMapper.xml增加动态SQL4.单元测试foreach实现批量插入前提1.需求2.UserMapper接口增加接口方法3.UserMapper.xml增加动态SQL4.单元测试foreach实现动态update不使用@Param注解指定参数名的情况1....原创 2018-04-23 06:01:24 · 15963 阅读 · 0 评论 -
MyBatis-20MyBatis高级结果映射【一对一映射(4种方式)】
概述需求方式一:使用自动映射处理一对一映射实体类改造UserMapper接口增加接口方法UserMapper.xml增加SQL单元测试方式二:使用resultMap配置一对一映射UserMapper接口增加接口方法UserMapper.xml增加SQL单元测试方式三:使用resultMap的asscociation标签配置一对一映射UserMapper接口增加接...原创 2018-04-30 10:53:22 · 18476 阅读 · 0 评论 -
MyBatis-08MyBatis注解方式之@Insert
概述不需要返回主键1.RoleMapper接口增加接口方法2.单元测试返回自增主键1.RoleMapper接口增加接口方法2.单元测试返回非自增主键1.RoleMapper接口增加接口方法2.单元测试概述@Insert注解本身很简单,需要注意的是如果需要返回主键的值,情况会稍微复杂一点,这种XML方式配置本质是一样的...原创 2018-04-19 12:35:56 · 71659 阅读 · 16 评论 -
MyBatis-09MyBatis注解方式之@Update/@Delete
@Update1. RoleMapper接口增加接口方法2. 单元测试@Delete1. RoleMapper接口增加接口方法2. 单元测试@Update1. RoleMapper接口增加接口方法 /** * * * @Title: updateSysRoleById * * @De...原创 2018-04-19 14:57:03 · 65131 阅读 · 0 评论 -
MyBatis-02 MyBatis XML方式概述及配置步骤
概述一个简单的权限控制需求创建数据库表创建实体类XML方式概述及步骤 1. 首先在src/main/resources下com.artisan.mybatis.xml.mapper目录下创建5个表各自对应的XML文件 2. 然后在src/main/java先创建包com.artisan.mybatis.xml.mapper,接着在该包下面创建XML文件对应的接口类3. Map...原创 2018-04-14 09:57:03 · 15464 阅读 · 0 评论 -
Spring Boot2.x-10 基于Spring Boot 2.1.2 + Mybatis 2.0.0实现多数据源,支持事务
文章目录概述步骤Step1Step1Step1Step1Step1Step1Step1Step1Step1Step1Step1Step1Step1Step1代码概述Spring Boot2.x-09 基于Spring Boot + Mybatis使用自定义注解实现数据库切换 通过自定义注解实现了数据库的切库。多数据源的支持我们通过这篇博文来梳理。单个数据源 见 Spring Boot2.x-...原创 2019-02-03 00:44:52 · 17381 阅读 · 1 评论