mybatis
mybatis
Bolon0708
昨日已成过往,明日未来可期。
展开
-
秒懂MyBatis分页插件PageHelper基于ThreadLocal的实现原理分析
你或许用过mybatis,但你未必用过github上的一个基于mybatis的分页插件PageHelper。项目地址:https://github.com/pagehelper/Mybatis-PageHelper小用了一下,感觉还是蛮不错的。使用MyBatis分页插件PageHelper非常简单,代码如下://使用方法可参考https://github.com/pagehelpe...转载 2020-01-10 10:27:19 · 3001 阅读 · 0 评论 -
为啥mybatis的mapper只有接口没有实现类,但它却能工作?
说起mybatis,大伙应该都用过,有些人甚至底层源码都看过了。在mybatis中,mapper接口是没有实现类的,取而代之的是一个xml文件。也就是说我们调用mapper接口,其实是使用了mapper.xml中定义sql完成数据操作。大家有没想过,为什么mapper没有实现类,它是如何和xml关联起来的?一个简单的例子ok,别急,现在我们已经抛出问题,现在我们从demo...转载 2019-10-29 09:52:37 · 7849 阅读 · 5 评论 -
Mybatis源码分析之SqlSessionFactory(一)
目录简介1:properties(相关配置读取)2:settings 全局性的配置3:typeAliases 为一些类定义别名4:environments Mybatis的环境5:mappers 映射文件或映射类简介MyBatis的前身叫iBatis,本是apache的一个开源项目, 2010年这个项目由apache software foundation 迁移...转载 2019-06-26 17:13:31 · 398 阅读 · 0 评论 -
Mybatis源码分析之SqlSession和Excutor(二)
目录1:openSessionFromDataSource2:Executor通过上一篇文章的分析我们,我初步了解了它是如何创建sessionFactory的(地址:Mybatis源码分析之SqlSessionFactory(一)),今天我们分析下Mybatis如何创建SqlSession( sessionFactory.openSession())和Excutor到底做了什么事情...转载 2019-06-26 17:36:39 · 179 阅读 · 0 评论 -
Mybatis源码分析之Mapper执行SQL过程(三)
目录1:DefaultSqlSession获取getMapper2:Configuration获取getMapper3:MapperRegistry获取getMapper4:MapperProxyFactoryMybatis源码分析之SqlSessionFactory(一)Mybatis源码分析之SqlSession和Excutor(二)上两篇已经讲解了SqlSessi...转载 2019-06-26 17:53:18 · 249 阅读 · 0 评论 -
Mybatis源码分析之Cache一级缓存原理(四)
目录一:什么是一级缓存二:如何执行缓存三:一级缓存生命周期之前的文章我已经基本讲解到了SqlSessionFactory、SqlSession、Excutor以及Mpper执行SQL过程,下面我来了解下myabtis的缓存,它的缓存分为一级缓存和二级缓存,本文我们主要分析下一级缓存。先看一个例子,代码还是之前(第一篇)的的demopublicstaticv...转载 2019-06-27 10:11:52 · 206 阅读 · 0 评论 -
Mybatis源码分析之Cache二级缓存原理 (五)
目录一:Cache类的介绍二:二级缓存初始化三:缓存查数据 四:一级和二级缓存的先后顺序五:使用二级缓存需要注意:一:Cache类的介绍讲解缓存之前我们需要先了解一下Cache接口以及实现MyBatis定义了一个org.apache.ibatis.cache.Cache接口作为其Cache提供者的SPI(ServiceProvider Interface) ,所有的M...转载 2019-06-27 10:34:49 · 387 阅读 · 0 评论 -
别怕看源码,一张图搞定Mybatis的Mapper原理
目录简单使用引出主题看图提到看源码,很多同学内心的恐惧的,其实这个从人性的角度来说是非常正常的,因为人们对未知的事物,都是非常恐惧的,其次,你内心可能始终觉得,好像不会原理也还是能工作啊,你的潜意识里没有强烈的欲望.从阅读源码的经历来说,Java三大框架SSM中,Mybatis的源码是最适合入门的.简单使用这是一个简单的Mybatis保存对象的例子@Testpu...转载 2019-09-03 13:36:06 · 444 阅读 · 2 评论 -
最简单的SpringBoot整合MyBatis教程
目录工程创建基本用法mapper映射原理分析前面两篇文章和读者聊了Spring Boot中最简单的数据持久化方案JdbcTemplate,JdbcTemplate虽然简单,但是用的并不多,因为它没有MyBatis方便,在Spring+SpringMVC中整合MyBatis步骤还是有点复杂的,要配置多个Bean,Spring Boot中对此做了进一步的简化,使MyBatis基本上...转载 2019-09-09 15:19:02 · 275 阅读 · 0 评论 -
Spring Boot(六):如何优雅的使用 Mybatis
这两天启动了一个新项目因为项目组成员一直都使用的是 Mybatis,虽然个人比较喜欢 Jpa 这种极简的模式,但是为了项目保持统一性技术选型还是定了 Mybatis 。到网上找了一下关于 Spring Boot 和 Mybatis 组合的相关资料,各种各样的形式都有,看的人心累,结合了 Mybatis 的官方 Demo 和文档终于找到了最简的两种模式,花了一天时间总结后分享出来。Orm 框架的...转载 2019-05-13 11:59:02 · 186 阅读 · 0 评论 -
mybatis在mapper.xml中怎么处理大于、小于、不等于号
第一种方法:使用转义字符大于号 > &gt; 大于等于号 >= &gt;= 小于号 < &lt; 小于等于号 <= &lt;= 与 & &amp; 单引号 " &apos; 双引号 ' &quo...原创 2019-03-15 15:02:07 · 8105 阅读 · 0 评论 -
走进MyBatis的世界
mybatis是个持久层的框架,用来执行数据库操作的,无外乎增删改查,上一节对mybatis有了宏观上的了解后,这一篇博客主要通过一个小示例来入门mybatis,先看一下要写的示例需求:根据用户id查询用户信息 根据用户名称模糊查询用户信息 添加用户、删除用户、更新用户 其实也就是增删改查,掌握这些,基本上就掌握了mybatis的基本操作了,下面一个个模块来完成。转载 2017-07-17 18:02:12 · 269 阅读 · 0 评论 -
hibernate与mybatis异同与比较
一、序言 最近一直用mybatis做开发,以前用过hibernate,能感受到一些它们在使用上的区别,不过总想抽出时间来好好比较比较弄弄清楚它们各自的优劣,以便更好进行选择和深入的了解。 网上也看了很多资料,结合自己的使用体会,粗率地概括和总结了一下,以供大家参考。二、具体运用上的不同1、所需的jar包Mybatis:只需要3个(my转载 2017-07-19 10:47:37 · 532 阅读 · 0 评论 -
MyBatis学习总结(一)——MyBatis快速入门
一、Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。二、mybatis快速入...转载 2017-08-20 20:09:56 · 242 阅读 · 0 评论 -
MyBatis学习总结(三)——优化MyBatis配置文件中的配置
一、连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中,如下: 1 xml version="1.0" encoding="UTF-8"?> 2 DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http转载 2017-08-20 20:56:07 · 183 阅读 · 0 评论 -
MyBatis学习总结(四)——解决字段名与实体类属性名不相同的冲突
在平时的开发中,我们表中的字段名和表对应实体类的属性名称不一定都是完全相同的,下面来演示一下这种情况下的如何解决字段名与实体类属性名不相同的冲突。一、准备演示需要使用的表和数据CREATE TABLE orders( order_id INT PRIMARY KEY AUTO_INCREMENT, order_no VARCHAR(20), order转载 2017-08-20 21:10:30 · 254 阅读 · 0 评论 -
mybatis常见用法
1、#{}和${}的区别是什么?答:${}是Properties文件中的变量占位符,它可以用于标签属性值和sql内部,属于静态文本替换,比如${driver}会被静态替换为com.mysql.jdbc.Driver。#{}是sql的参数占位符,Mybatis会将sql中的#{}替换为?号,在sql执行前会使用PreparedStatement的参数设置方法,按序给sql的?转载 2017-10-29 21:06:38 · 805 阅读 · 0 评论 -
MyBatis动态传入表名,字段名参数
问题Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use ...转载 2018-10-11 15:23:59 · 3162 阅读 · 0 评论 -
IDEA插件Free Mybatis plugin
做Java EE的时候,用到最多的ORM框架应该就是MyBaits了。MyBaits的主要结构就是service.java,mapper.java,mapper.xml组成,可以简单地理解下,service主要是提供业务接口的,mapper.class就是提供数据库接口的,mapper.xml就是操作数据库的;差不多就是这样的流程,service-->mapper.java-->...原创 2019-01-23 13:27:50 · 28725 阅读 · 0 评论 -
mybatis入门
这个mybatis教程也不错:http://limingnihao.iteye.com/blog/781671MyBatis目录(?)[-]mybatis实战教程mybatis in action之一开发环境搭建mybatis实战教程mybatis in action之二以接口的方式编程mybatis实战教程mybatis in action之三实现数据转载 2017-07-17 10:53:10 · 346 阅读 · 0 评论