Mybatis
林海静
周全尽至,方可抵达。
展开
-
MyBatis之动态sql详细分类说明
本文主要内容:1、if_判断&OGNL 2、where_查询条件 3、trim_自定义字符串截取,用来处理if连接的问题 4、choose_分支选择 5、set_与if结合的动态更新 6、foreach 6.1 遍历集合 6.2 mysql下foreach批量插入的两种方式 6.3 oracle下批量插入的两种方式 6.4...原创 2018-11-18 21:33:55 · 581 阅读 · 0 评论 -
Mybatis的一级缓存和二级缓存详解
注:本笔记是根据尚硅谷的MyBatis视频记录的对于任何一个持久层框架,都有缓存机制;缓存在电脑中有一块真实的存储空间(https://baike.baidu.com/item/%E7%BC%93%E5%AD%98/100710?fr=aladdin);两个关于mybatis缓存额外的链接:关于Mybatis的一级缓存和二级缓存执行顺序具体可参考:Mybatis的一级缓存和二级缓存执行...原创 2018-11-19 19:11:59 · 10052 阅读 · 5 评论 -
Mybatis的一级缓存和二级缓存执行顺序
1、先判断二级缓存是否开启,如果没开启,再判断一级缓存是否开启,如果没开启,直接查数据库2、如果一级缓存关闭,即使二级缓存开启也没有数据,因为二级缓存的数据从一级缓存获取3、一般不会关闭一级缓存4、二级缓存默认不开启5、如果二级缓存关闭,直接判断一级缓存是否有数据,如果没有就查数据库6、如果二级缓存开启,先判断二级缓存有没有数据,如果有就直接返回;如果没有,就查询一级缓存,如果...原创 2018-11-19 18:53:29 · 10211 阅读 · 8 评论 -
Mybatis整合第三方缓存ehcache
第三方缓存主要是来壮大Mybatis的二级缓存。Mybatis整合第三方缓存原理图:解读:1、客户从数据库获取数据视为一次会话,抽象为sqlSession对象2、一个Excutor包含增删改查的操作;3、CachingExcutor是对Excutor的包装,此处相当于代理模式4、当有会话时,先访问CachingExcutor对象,CachingExcutor先从二级缓存...原创 2018-11-19 17:19:31 · 6590 阅读 · 16 评论 -
Mybatis中《insert》返回map、list及嵌套、association和collection分布查询及延迟加载(懒加载)(按需加载)
本文目录类容目录结构:一、select返回值1、返回值记录封装为List 2、返回值记录封装为map二、select_resultMap1、自定义结果映射规则 2、关联查询_级联属性封装结果,即<result column="did" property="dept.id"/>的方式 3、association嵌套结果集定义关联对象封装规则 4、associatio...原创 2018-11-17 17:19:46 · 1773 阅读 · 0 评论 -
制作Mybatis插件---针对Mybatis的四大对象
注:本笔记是根据尚硅谷的MyBatis视频记录的一、为什么要制作Mybatis插件根据自己的意图动态修改mybatis运行流程二、插件原理当有多个插件同时拦截同一个方法时:在四大对象创建的时候:1、每个创建出来的对象不是直接返回的,而是 interceptorChain.pluginAll(parameterHandler);2、获取到所有的Intercep...原创 2018-11-21 16:33:51 · 2603 阅读 · 0 评论 -
Mybatis的处理参数源码分析和方法传参取参分析
一、Mybatis中解析参数传递的源码分析首先,当查询数据库语句mapper.getEmpByIdAndLastName(1, "tom");执行时,会调用Mybatis包中MapperProxy.invoke()方法,然后按照顺序执行;流程:注:先进入Mybatis包中MapperProxy.invoke()方法,然后按顺序执行,以下1和2两步是其中的主要代码片段讲解1、准备na...原创 2018-11-16 16:34:29 · 718 阅读 · 0 评论 -
<insert>时获取Mysql自增主键的值及Oracle非自增主键的值
<insert>parameterType:参数类型,可以省略, 1、获取自增主键的值: mysql支持自增主键,自增主键值的获取,mybatis也是利用statement.getGenreatedKeys(); useGeneratedKeys="true";使用自增主键获取主键值策略 keyProperty;指定对应的主键属性,...原创 2018-11-16 10:24:05 · 476 阅读 · 0 评论 -
Mybatis中#{}和${}的区别以及对sql注入、预编译、jdbcType的说明
#{}和${}都可以获取map中的值或者pojo对象属性的值;sql语句示例:select * from tbl_employee where id=${id} and last_name=#{lastName}Preparing: select * from tbl_employee where id=2 and last_name=?#{}和${}的区别: #{}...原创 2018-11-16 16:34:54 · 1651 阅读 · 0 评论 -
Mybatis的mapper.xml文件中重要注解说明
#{}和${}的区别及使用参考: Mybatis中#{}和${}的区别以及对sql注入、预编译、jdbcType的说明Mybatis方法各种情况的传参和取参参考:Mybatis的处理参数源码分析和方法传参取参分析1、<mapper>namespace:名称空间;指定为接口的全类名<mapper namespace="com.atguigu.mybatis.dao...原创 2018-11-16 16:35:10 · 4737 阅读 · 0 评论 -
Mybatis全局配置文件中重要注解说明
<!--注意:xml中的标签是有先后顺序的,将鼠标放在configuration标签上,弹出框的末尾可以查看先后顺序-->1、<properties>mybatis可以使用properties来引入外部properties配置文件的内容; resource:引入类路径下的资源 url:引入网络路径或者磁盘路径下的资源&l...原创 2018-11-15 20:05:42 · 662 阅读 · 0 评论 -
Java开发之Mybatis框架(2)--- 与普通Java项目整合
使用Mybatis前需了解的知识点:两个重要文件:全局配置文件和写有sql的映射文件;全局配置文件中需配置sql映射文件的位置;*1、接口式编程* 原生: Dao ====> DaoImpl* mybatis: Mapper ====> xxMapper.xml** 2、SqlSession代表和数...原创 2018-11-15 16:39:51 · 12356 阅读 · 8 评论 -
Java开发之Mybatis框架(1)---原理背景介绍及下载步骤
一、Mybatis原理注意:mybatis可以单独用在非web项目来管理数据库层,只用导入mybatis的jar包和数据库驱动即可。mapper接口与mapper.xml配置文件动态绑定,然后根据绑定创建一个代理对象,由这个代理对象去执行增删改查方法,所以xml会转化为mapper接口的实现类,并由代理对象去执行定义的sql语句(方法);结果:使用接口的优点是将规范和实...原创 2018-11-15 14:47:32 · 503 阅读 · 0 评论 -
一台虚拟机模拟zookeeper集群管理solr集群搭建步骤(伪分布式zookeeper管理solr集群)及solrJ连接测试
导言:用zookeeper集群来管理solr集群,即通过zookeeper的访问来间接访问solr;zookeeper决定来调用哪台solr服务器,为了使zookeeper实现高可用,故也搭建成集群;因为zookeeper使用投票机制,判断是否宕机需其他服务器投票决定,超过半数视为宕机,所以搭建集群的个数最好为奇数个;zookeeper和solr集群中,一台为主服务器,其他为备份服务器,当主服务...原创 2018-09-20 09:28:42 · 852 阅读 · 0 评论 -
mybatis plugin配置,可实现mapper和xml直接跳转
按步骤进行配置即可。安装完毕:安装完毕后重启idea,可见图标 表示安装成功。点击即可实现mapper和xml的直接跳转。同时,当方法不匹配时也会做出提示。...原创 2018-06-08 18:49:28 · 10371 阅读 · 1 评论 -
idea配置mabaties自动生成代码
一、下载mabatis自动生成代码的jar包方法1:https://github.com/mybatis/generator/releases方法2:pom.xml里面以插件的形式引入org.mybatis.generator的jar包 <plugin> <groupId>org.mybatis.generator</groupId...原创 2018-04-26 17:44:05 · 1154 阅读 · 0 评论 -
MyBatis_运行原理
注:本笔记是根据尚硅谷的MyBatis视频记录的一、Mybatis架构图二、Mybatis的工作原理三、Mybatis的运行原理源码分析Mybatis执行数据库查询时,我们需要编写的代码:一共分为四步:获取sqlSessionFactory对象 获取sqlSession对象 获取接口的实现类mapper代理对象 接口的实现类对象执行数据库方法进行增删改查操作...原创 2018-11-21 10:57:59 · 401 阅读 · 0 评论 -
Mybatis整合Spring和SpringMVC配置文件详解
配置文件pom.xml(配置我们需要的jar包) web.xml(启动spring容器监听器并加载spring的xml文件,加载springmvc前端控制器) springmvc的配置文件(配置IOC自动注入视图对象(controller),前端页面映射配置,静态资源配置) spring的配置文件(创建对象配置IOC自动注入业务对象(非cont),数据库配置,事物管理,和mybat...原创 2018-11-20 14:14:47 · 22849 阅读 · 8 评论