【mybatis-记录】】的更多相关文章

记录一下MyBatis的几个模块大纲,除去缓存以及集合映射两个部分 Mybatis架构 1. mybatis配置 SqlMapConfig.xml,此文件作为mybatis的全局配置文件,配置了mybatis的运行环境等信息. mapper.xml文件即sql映射文件,文件中配置了操作数据库的sql语句.此文件需要在SqlMapConfig.xml中加载. 2. 通过mybatis环境等配置信息构造SqlSessionFactory即会话工厂 3. 由会话工厂创建sqlSession即会话,操作…
1. #{}, ${}两种传参数方式的区别 1) ${} 会将传入的参数完全拼接到sql语句中,也就是相当于一个拼接符号. 也就是,最后的处理方式就相当于 String sql = select * from user where id=${value}.... mybatis会将 ${value} 完全替换为参数 value 的值 相当于replace("${value}", value)的过程. 实际上mybatis 是先将sql转成char数组 然后截取 "${&quo…
前言: java开发中常用的日志框架有Log4j,Log4j2,Apache Commons Log,java.util.logging,slf4j等,这些工具对外的接口不尽相同.为了统一这些工具的接口,Mybatis定义了一套统一的日志接口供上层调用,并为上述日志框架提供了相应的适配器. 在Mybatis的日志模块中,使用了适配器模式.Mybatis调用其他日志模块时,使用了其内部接口(org.apache.ibatis.logging.Log接口).但是第三方日志组件对外提供的接口各不相同,…
1. 目的 本文主要解读MyBatis 延迟加载实现原理 2. 延迟加载如何使用 Setting 参数配置 设置参数 描述 有效值 默认值 lazyLoadingEnabled 延迟加载的全局开关.当开启时,所有关联对象都会延迟加载. 特定关联关系中可通过设置fetchType属性来覆盖该项的开关状态. true.false false aggressiveLazyLoading 当开启时,任何方法的调用都会加载该对象的所有属性.否则,每个属性会按需加载(参考lazyLoadTriggerMet…
在 Java 开发中常用的日志框架有 Log4j.Log4j2.Apache Common Log.java.util.logging.slf4j 等,这些日志框架对外提供的接口各不相同.本章详细描述 MyBatis 是如何通过适配器的方式集成和复用这些第三方框架的. 日志适配器 MyBatis 的日志模块位于 org.apache.ibatis.logging 包中,该模块中 Log 接口定义了日志模块的功能,然后分别为不同的日志框架定义不同的日志适配器,这些日志适配器都继承 Log 接口,L…
1.为什么需要使用适配器?    集成第三方日志组件,屏蔽日志组件底层实现,统一提供写日志的接口. 2.什么是适配器模式 定义:将一个类的接口变成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够一起工作. client-->Target(统一接口) Adapter继承Target,并封装Adaptee对象 Adaptee类做具体的工作 Target目标角色: 该角色定义把其他类转换为何种接口 Adaptee源角色: 你想把谁转换成目标角色,这个“谁”就是源角色,他是已…
在Mybatis Mapper文件中添加属性“useGeneratedKeys”和“keyProperty”,其中keyProperty是Java对象的属性名! <insert id="addMessage" parameterType="Message" useGeneratedKeys="true" keyProperty="msgid"> <!-- useGeneratedKeys指定myBatis使用…
查询语句配置如下: <select id="selectCustomerList" resultMap="CustomerDtoMap" parameterType="map"> select * from ( select <include refid="AliasCustomerColumnList"/> from customer c ) c left join display_venue_res…
这是一篇记录.mybatis是一个部分模仿ORM的framework.是一个介于ORM和原始JDBC的框架.既可以提供ORM的操作对象的特性,又能从详细地控制最终的SQL.达到一个平衡.我们还是得写sql,同时mybatis负责类到数据库记录的映射.mybatis 3之前叫做ibatis, 2.x时代在apache上.后来移到了别的地方.现在似乎在http://mybatis.github.io/. 文档在:http://mybatis.github.io/mybatis-3/,源代码现在似乎移…
1.在Mybatis Mapper文件中添加属性“useGeneratedKeys”和“keyProperty”,其中keyProperty是Java对象的属性名,而不是表格的字段名. <insert id="insert" parameterType="Spares" useGeneratedKeys="true" keyProperty="id"> insert into system(name) values…