![](https://img-blog.csdnimg.cn/2019103110452598.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
JDBC+Mybatis
nrsc
::>_<::曾梦想当一个科学家::>_<::
展开
-
【Mybatis+spring整合源码探秘】--- mybatis整合spring事务原理
文章目录1 mybatis整合spring事务原理1 mybatis整合spring事务原理本篇文章不再对源码进行具体的解读了,仅仅做了下面一张图:该图整理了spring+mybatis整合后,在有事务和无事务情况下mybatis的核心流程,从中应该可以获得的知识有:(1)mybatis是如何整合spring事务的(2)在非事务情况下,为什么mybatis的一级缓存会失效(3)在有...原创 2020-01-19 17:39:43 · 2339 阅读 · 1 评论 -
【Mybatis知识点整理】 --- springboot项目里PageHelper的使用
文章目录1 Mybatis_PageHelper网址记录2源码地址:https://github.com/nieandsun/mybatis-study1 Mybatis_PageHelper网址记录(1)码云站点:https://gitee.com/free/Mybatis_PageHelper(2)github站点:https://github.com/pagehelper...原创 2020-01-19 10:35:55 · 884 阅读 · 0 评论 -
【Mybatis知识点整理】--- springboot项目mybatis非懒加载和懒加载情况下的1对1、1对多查询
文章目录1 一对一查询1.1 场景介绍1.2 非懒加载的情况1.3 懒加载的情况1.3.1 可以开启全局懒加载,1对1,1对多都适用1.3.2 “No serializer found for class 。。。”错误解决方法1.3.3 mapper.xml中的配置1.3.3 测试 --- 这是Mybatis懒加载的全部吗???2 一对多查询2.1 场景介绍2.2 非懒加载的情况2.3 懒加载...原创 2020-01-18 22:56:29 · 2248 阅读 · 2 评论 -
【springboot+mybatis】--- springboot + mybatis多数据源配置的正确姿势
文章目录源码地址:https://github.com/nieandsun/mybatis-study原创 2020-01-16 13:34:46 · 3630 阅读 · 7 评论 -
【Mybatis+spring整合源码探秘】--- Mybatis整合Spring后在非事务情况下一级缓存失效的底层原理
文章目录1 现象2 必备前置知识3 源码探寻入口源码地址:https://github.com/nieandsun/mybatis-study1 现象如下图所示:连续两次调用userMapper的同一个查询方法,第二次却没有像Mybatis单独开发时一样走缓存 —》本文将从源码的角度来探索一下其具体的原因。2 必备前置知识通过文章《【Mybatis+spring整合源码探秘】...原创 2020-01-13 23:20:24 · 2629 阅读 · 0 评论 -
【Mybatis+spring整合源码探秘】--- 创建Mapper动态代理类核心源码解读
文章目录1 从mybatis整合spring的配置类开始2 SqlSessionFactoryBean对象及其背后的秘密 --- 构建SqlSessionFactory对象2.1 简单介绍2.2 原理简介2.2.1 必备的前置知识2.2.2 【具体原理简介】 --- 实现InitializingBean接口 ---> 构建SqlSessionFactory对象2.2.3 【具体原理简介】-...原创 2020-01-12 14:32:27 · 3150 阅读 · 7 评论 -
【Mybatis+spring整合源码探秘】--- 开篇 • 搭建一个最简单的Mybatis、Spring整合框架
文章目录1. 学习网站记录2. Mybatis、Spring整合框架搭建2.1 pom.xml源码地址:https://github.com/nieandsun/mybatis-study1. 学习网站记录Mybatis官网:https://mybatis.org/mybatis-3/index.htmlMyBatis-Spring整合官网:https://mybatis.org/s...原创 2020-01-11 12:49:37 · 2058 阅读 · 2 评论 -
【Mybatis源码探索】 --- Mybatis查询过程核心源码解读 --- mapper调用方式
文章目录1 源码入口2 getMapper(...)方法1 源码入口本篇文章的源码入口如下(可参考文章《【Mybatis源码探索】 — 开篇 • 搭建一个最简单的Mybatis框架》):/*** * mybatis的方式 */@Testpublic void quickStart2() { // 2.获取sqlSession SqlSession sqlSessio...原创 2020-01-11 09:26:41 · 2953 阅读 · 2 评论 -
【设计模式】--- 装饰器模式、静态代理模式和动态代理模式
文章目录1 引子2 业务场景介绍3 静态代理模式4 装饰器模式5 动态代理模式1 引子看过上篇文章《【Mybatis源码探索】 — Mybatis查询过程核心源码解读 — 先聊聊selectOne方法》对Executor和StatementHandler的源码解析后,相信你肯定对装饰器模式有了一定的认识,本篇文章将对该模式做具体的归纳总结。同时考虑到由于静态代理模式和装饰器模式过于相似 的原...原创 2020-01-09 23:44:47 · 3439 阅读 · 4 评论 -
【Mybatis源码探索】 --- Mybatis查询过程核心源码解读 --- 先聊聊selectOne方法
文章目录1 源码入口2 sqlSessionFactory.openSession()源码分析2.1 openSession方法 --- 获取SqlSession对象的骨架2.2 Executor对象的创建 --- 真正与数据库打交道的其实是Executor2.2.1 Executor对象创建源码解析2.2.2 Executor介绍3 Mybatis查询过程核心源码解读3.1 selectO...原创 2020-01-07 10:48:07 · 3330 阅读 · 7 评论 -
【Mybatis源码探索】 --- Mybatis配置文件解析核心源码解读
文章目录1 源码阅读入口2 配置文件解析核心源码解读2.1 SqlSessionFactoryBuilder --- 大骨架2.2 XMLConfigBuilder 和 parser.parse() --- 模板模式2.2.1 XMLConfigBuilder构造函数及BaseBuild的引出2.2.2 parser.parse()方法 --- 配置文件解析模版2.3 配置文件解析具体流程2.3...原创 2020-01-05 18:45:12 · 2048 阅读 · 0 评论 -
【Mybatis源码探索】 --- 开篇 • 搭建一个最简单的Mybatis框架
文章目录1 pom.xml2 主配置文件3 domain、mapper和mapper.xml4 测试启动类5 代码结构6 测试源码地址:https://github.com/nieandsun/mybatis-study感觉比较简单,有不懂或有兴趣的可以clone下来代码看一下,一看肯定就都懂了。不过多解释了,直接上代码。1 pom.xml<?xml version="1.0"...原创 2020-01-03 22:16:42 · 1321 阅读 · 1 评论 -
【Mybatis知识点整理】--- mapper请求参数使用总结
文章目录1 Map作为请求参数 --- 尽量避免使用2 多个基本类型作为参数3 PO类作为请求参数本文源码地址:https://github.com/nieandsun/NRSC-STUDY1 Map作为请求参数 — 尽量避免使用注意:不建议使用Map作为参数 — 很多公司的开发规范里都直接【强制】禁止使用map作为参数(1)无法见名之义(2)不好维护Mapper类/***...原创 2019-11-04 23:50:11 · 830 阅读 · 0 评论 -
【Mybatis知识点整理】--- foreach标签+批量插入的两种实现方式
文章目录1 foreach标签2 批量插入2.1 使用foreach标签2.2 关闭session自动提交的方式本文源码地址:https://github.com/nieandsun/NRSC-STUDY1 foreach标签foreach标签有五个元素collection — 要遍历的集合的名称,注意:该名称必须要用@Param注解进行标注item — 遍历集合过程中每一个元素的临...原创 2019-11-03 20:52:18 · 1527 阅读 · 0 评论 -
【Mybatis知识点整理】--- 动态sql标签整理
文章目录1 set 标签2 where 标签3 trim标签4 choose 、when 、otherwise1 set 标签set标签的作用:在更新时,配合if标签使用(1)可以去掉最后一个成立的if标签语句中的逗号,使update语句不会报错(2)但是如果if都不成立时,整个set语句块会不生效,从而会导致sql语句会报错 <update id="updateByPri...原创 2019-11-03 17:15:26 · 617 阅读 · 0 评论 -
Mybatis逆向工程maven版 --- 适用于mysql8+mysql5
很久之前搞过一个Mybatis逆向工程,并且项目里也一直在用,但是发现mysql为8.X版本时不行,且我之前弄得那个不是基于maven的,于是自己就重新做了一个,不过多去讲了,直接奉上源码吧。源码地址为:https://github.com/nieandsun/mybatis注意:mysql5版本的非maven版,放在resources目录下了!!!...原创 2019-11-01 01:58:04 · 712 阅读 · 0 评论 -
JDBC编程----借助TreadLocal类解决事务问题
1、web层package com.nrsc.web;import com.nrsc.service.AccountService;public class AccountWeb { public static void main(String[] args) { // 模拟从键盘录入:源账户,目标账户,转账金额 // 调用Service层方法 AccountService...原创 2019-01-07 22:56:38 · 403 阅读 · 0 评论 -
JDBC编程----DBUtils的使用
DBUtils0、给QueryRunner一个连接池(DataSourse),它自己会自动的从连接池中获取一个连接1、DBUtils的使用方式如下:package pack05_dbutils;import java.sql.SQLException;import org.apache.commons.dbutils.QueryRunner;import org.junit.Tes...原创 2019-01-07 22:32:08 · 392 阅读 · 0 评论 -
JDBC编程----引入连接池2----C3P0
0.C3P0对DataSource的实现类 C3P0实现DataSource的类为ComboPooledDataSource1、C3P0版JDBCUtil----C3P0Util版本1package pack03_c3p0;import java.sql.Connection;import java.sql.ResultSet;import java.sql...原创 2019-01-07 22:20:23 · 327 阅读 · 0 评论 -
JDBC编程----引入连接池1----BasicDataSource
1.什么是DataSourceDataSource是Java提供的一个连接池接口,该接口有一个方法,即获取数据库连接Apache对DataSource接口进行了实现,实现类为BasicDataSource2.利用连接池创建连接—(BasicDataSource)版本1在JDBCUtil里进行封装package pack01_dbcp;import java.sql.Conn...原创 2019-01-07 22:12:49 · 1048 阅读 · 0 评论 -
JDBC编程----基础篇(原生态1)
JDBC编程1.JDBC编程中的三个接口一个类接口ConnectionStatement/PreparedStatementResultSet类DriverManager2.JDBC编程的步骤注册驱动获取与数据库之间的连接将sql指令发送给数据库获取返回结果处理结果释放资源3.一个小程序package pack01_jdbc;import j...原创 2019-01-07 14:15:17 · 413 阅读 · 0 评论 -
JDBC编程----基础篇(原生态2)
在JDBC原生态编程的基础上对其进行封装编程1、将数据库连接的四大信息进行封装(JDBC.properties) ## 数据库驱动注册需要的信息 driverClassName=com.mysql.jdbc.Driver ## 其余三个是数据库连接需要的信息 url=jdbc:mysql://localhost:3306/day04db user=roo...原创 2019-01-07 14:15:03 · 338 阅读 · 0 评论