MyBatis insert操作插入数据之后返回插入记录的id
MyBatis插入数据的时候,返回该记录的id
<insert id="insert"
keyProperty="id"
useGeneratedKeys="true"
parameterType="com.demo.domain.CountRate...[2019/3/27]
mybatis利用association或collection传递多参数子查询mybatis利用association或collection传递多参数子查询
有时候我们在查询数据库时,需要以查询结果为查询条件进行关联查询。
在mybatis 中通过 a ociation 标签(一对一查询,collection 一对多 查询) 实现延迟加载子查询
<resultMap id="xxxMap" type="xxxx.bean.xx...[2019/3/15]
mysql+spring+mybatis实现数据库读写分离的代码配置mysql+spring+mybatis实现数据库读写分离的代码配置
场景:一个读数据源一个读写数据源。
原理:借助spring的【org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource】这个抽象类实现,看名字可以了解到是一个路由数据源的东西,这个类中有一个方法
/**...[2019/3/12]
MyBatis源码分析之日志logging详解
前言
本文介绍个人对 logging 包下源码的理解。分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧
logging 配置加载
我们先从日志的配置加载开始阅读, MyBatis 的各项配置的加载过程都可以从 XMLConfigBuilder 类中找到,我们定位到该类...[2019/3/4]
浅谈mybatis如何半自动化解耦
在JAVA发展过程中,涌现出一系列的ORM框架,JPA,Hibernate,Mybatis和Spring jdbc,本系列,将来研究Mybatis。 ...[2019/2/19]
mybatis 一对一 一对多 配置详解
javabean: package com.me.model;import java.io.Serializable;import java.util.Date;import java.util.List;public cla User...[2019/2/19]
Mybatis框架基础支持层——日志模块(8)
前言:
java开发中常用的日志框架有Log4j,Log4j2,Apache Commons Log,java.util.logging,slf4j等,这些工具对外的接口不尽相同。为了统一这些工具的接口,Mybatis定义了一套统一的日志接口供上层调用,并为上述日志框架提供了相应的适配器。
...[2019/2/13]
Mybatis框架基础支持层——反射工具箱之MetaClass(7)
简介:MetaCla 是Mybatis对类级别的元信息的封装和处理,通过与属性工具类的结合, 实现了对复杂表达式的解析,实现了获取指定描述信息的功能
public cla MetaCla {
private ReflectorFactory reflectorFactor...[2019/1/30]
Mybatis主线流程源码解析
Mybatis的基础使用以及与Spring的相关集成在官方文档都写的非常详细,但无论我们采用xml还是注解方式在使用的过程中经常会出现各种奇怪的问题,需要花费大量的时间解决。
抽空了解一下Mybatis的相关源码还是很有必要。
先来看一个简单的Demo:
@...[2019/1/28]
Mybatis框架基础支持层——反射工具箱之实体属性Property工具集(6)
本篇主要介绍mybatis反射工具中用到的三个属性工具类:PropertyTokenizer、PropertyNamer、PropertyCopier。
PropertyTokenizer:
主要用来解析Mybatis使用过程中遇到的类似"order[0].items[0].name"这种由"...[2019/1/25]
MyBatis实现CRUD操作
1、实现基本CRUD功能 使用MyBatis对数据完整的操作,也就是CRUD功能的实现。根据之前的内容,要想实现CRUD,只需要进行映射文件的配置。范例:修改EmpMapper.xml文件,实现CRUD <?xml version="1.0" encod...[2019/1/24]
Mybatis框架基础支持层——反射工具箱之泛型解析工具TypeParameterResolver(4)
简介:TypeParameterResolver是一个工具类,提供一系列的静态方法,去解析类中的字段、方法返回值、方法参数的类型。
在正式介绍TypeParameterResolver之前,先介绍一个JDK提供的接口Type,因为TypeParameterResolver的实现会涉及到它的实现...[2019/1/23]
Mybatis框架基础支持层——反射工具箱之Reflector&ReflectorFactory(3)
说明:Reflector是Mybatis反射工具的基础,每个Reflector对应一个类,在Reflector中封装有该类的元信息,
以及基于类信息的一系列反射应用封装API
public cla Reflector {
private static final String[] E...[2019/1/21]
Mybatis框架可视化(1)Mybatis框架可视化(1)
Mybatis整体架构视图:
接
口
层
SqlSe ion
(定义了Mybatis暴露给应用程序调用的API)
核
心
处
理
层
配置解析
(加载核心配置、映射配置、
mapper接口注解信息,
解析后形成的对象
保存至Configura...[2019/1/18]
mybatis 延迟加载的深入理解
什么是延迟加载
延迟加载又叫懒加载,也叫按需加载,也就是说先加载主信息,需要的时候,再去加载从信息。代码中有查询语句,当执行到查询语句时,并不是马上去DB中查询,而是根据设置的延迟策略将查询向后推迟。
什么时候会执行延迟加载
配置之后在对关联对象进行查询时使用延迟加载。
延...[2019/1/16]
2018开源中国最受欢迎的中国软件2018开源中国最受欢迎的中国软件
2018开源中国最受欢迎的中国软件MyBatis-Plus
什么是MyBatis-Plus?
进入官方第一句话:为简化开发而生 ;
只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑。
只需简单配置,即可快速进行 CRUD 操作,从而节省大量时间。
丰富功能:热加载、代码生...[2018/12/29]
MyBatis Map结果的Key转为驼峰式MyBatis Map结果的Key转为驼峰式
MyBatis 配置文件中,支持下面这几种配置:
properties, settings, typeAliases, typeHandlers,
objectFactory, objectWrapperFactory, reflectorFactory,
plugins, env...[2018/12/27]
Mybatis Interceptor 拦截器的实现
Mybatis采用责任链模式,通过动态代理组织多个拦截器(插件),通过这些拦截器可以改变Mybatis的默认行为(诸如SQL重写之类的),由于插件会深入到Mybatis的核心,因此在编写自己的插件前最好了解下它的原理,以便写出安全高效的插件。
拦截器(Interceptor)在 Mybatis...[2018/12/18]
使用mybatis开发原始Dao层
本文将介绍使用框架mybatis开发原始Dao层来对一个对数据库进行增删改查的案例。 本次使用的mybatis版本为mybatis-3.2.7,开发工具为eclipse,数据库为mysql,jdk版本jdk1.8.0_151。 1、首先,使用eclipse新建一个java工程,在lib...[2018/12/13]
SSM整合配置(Spring+Spring MVC+Mybatis)SSM整合配置(Spring+Spring MVC+Mybatis)
一、配置准备
通过Maven工程,在eclipse中整合SSM,并在Tomcat服务器上运行
在进行配置前,先理清楚要配置哪些文件,如图,除web.xml外,其余三个配置文件名称均可自定义:
如图所示,一共有四个需要手动配置的文件:
...[2018/12/10]
MyBatis多数据源的两种配置方式
前言
同一个项目有时会涉及到多个数据库,也就是多数据源。多数据源又可以分为两种情况:
1)两个或多个数据库没有相关性,各自独立,其实这种可以作为两个项目来开发。比如在游戏开发中一个数据库是平台数据库,其它还有平台下的游戏对应的数据库;
2)两个或多个数据库是master-slave的关...[2018/12/10]
MyBatis最初的程序解读---APIMyBatis最初的程序解读---API
API详解: * 线程安全问题出现的条件 (1) 只有单例对象才可能出现线程安全问题 &nbs...[2018/11/25]
mybatis逆向工程
1.POM文件:
<project xmlns="http: maven.apache.org/POM/4.0.0"
xmlns:xsi="http: www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http...[2018/11/13]
mybatis全配置理解
本文只论mybatis本身,不涉及与spring整合,文中探讨了mybatis最新版本提供的全部配置项的作用。 首先要了解都有哪些配置项,mybatis的SqlSe ion来自SqlSe ionFactory,SqlSe ionFactory来自SqlSe ionFactoryBuilder,从S...[2018/11/1]
MyBatis学习总结_Mybatis查询之resultMap和resultType区别 - Java-live-begin
MyBatis的每一个查询映射的返回类型都是ResultMap,只是当我们提供的返回类型属性是resultType的时候,MyBatis对自动的给我们把对应的值赋给resultType所指定对象的属性,而当我们提供的返回类型是resultMap的时候,将数据库中列数据复制到对象的相应属性上,可以用...[2018/11/1]