![](https://img-blog.csdnimg.cn/20200103231328540.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
MyBatis系列
MyBatis is a first class persistence framework with support for custom SQL, stored procedures and advanced mappings.
星_陨
本人主攻后台,但是对前端技术也有深入学习,力求做个全栈工程师。遇到问题时,我首先会尝试独立解决,其次在CSDN、博客园上寻找答案,同时,我还会积极主动的与其他同事交流学习,互相提升。对待工作上,我会在完成的基础上,不断的改进力求完美,并且我注重团队合作,集众人智慧高效完成工作。平时,我会关注IT科技行业的咨询,保持开阔的视野。最后,本人热爱钻研技术,自学能力强,吃苦耐劳,抗压能力强,有良好的自我认知。
展开
-
MyBatis逆向工程——MyBatis Generator (MBG)-简单介绍与运行步骤(1)
写在前面: Mybatis Generator是MyBatis和ibatis的代码生成器。主要生成如下: (1)与表结构匹配的Java POJO(字段名对应属性) (2)SQL映射XML文件(文件为配置中每个表上的简单CRUD(增删改查)函数生成SQL。) 生成的SQL语句有 insert ...原创 2018-02-20 17:51:52 · 4480 阅读 · 0 评论 -
MyBatis(14)——MyBatis调用Oracle存储过程
目录创建存储过程:在Oracle中调用:MyBatis中调用创建参数对象Mapper接口方法Mapper的SQL调用测试调用创建存储过程:在Oracle中创建一个有输入参数、输出参数、并且输出参数为系统游标的存储过程。-- 传入开始的页面、结束页面,输出游标为分页查询的employee数据create or replace procedure getEm...原创 2019-01-30 23:32:00 · 1118 阅读 · 0 评论 -
MyBatis(11)——运行原理-查询流程原理
总体流程:测试用例:(1)首先调用代理对象MapperProxy的invoke方法:先判断method方法的声明的类,如果是Object的方法(例如.clone(),.notify())则直接invoke执行。然后调用cachedMapperMethod(method)获取MapperMethod的实例:首先从缓存中拿mapperMethod,缓存中没有则需要根据接...原创 2019-01-23 23:52:19 · 229 阅读 · 0 评论 -
MyBatis(13)——分页插件Pagehelper
目录一、引入Maven依赖:二、配置拦截器插件1. 在 MyBatis 配置 xml 中配置拦截器插件2. 在 Spring 配置文件中配置拦截器插件3、分页插件参数三、在代码中使用四、其他1、分页并统计2、安全性问题官方文档:https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wiki...原创 2019-01-27 22:46:19 · 183 阅读 · 0 评论 -
MyBatis(12)——插件开发
一、插件原理 在MyBatis的四大对象创建的过程中,每个对象的创建后都不是直接返回的,而是要经过一个拦截器链进行包装后返回:executor = (Executor) interceptorChain.pluginAll(executor);parameterHandler = (ParameterHandler) interceptorChain.pluginAll(param...原创 2019-01-27 17:37:53 · 368 阅读 · 0 评论 -
MyBatis(10)——运行原理-getMapper获取接口的代理对象
总体流程:测试用例:(1)调用DefaultSqlSession的getMapper():在里面调用configuration的getMapper();参数type:传进来的EmployeeMapper.class(2)调用configuration的getMapper():mapperRegistry对象里面拥有一个hashMap,存储接口com.star...原创 2019-01-16 22:59:04 · 413 阅读 · 0 评论 -
MyBatis(9)——运行原理-获取SqlSession对象
总体流程:测试用例:断点在line26位置1、调用DefaultSqlSessionFactory的openSession()方法2、调用openSessionFromDataSource(configuration.getDefaultExecutorType(), null, false);方法在此之前会调用configuration.getDefaultExecu...原创 2019-01-12 22:04:31 · 487 阅读 · 0 评论 -
MyBatis(8)——运行原理-初始化SqlSessionFactory
总体流程图如下:测试用例:@Testpublic void testInterface() throws IOException { String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFacto...原创 2019-01-10 23:37:50 · 323 阅读 · 0 评论 -
MyBatis(7)——运行原理
一、框架架构二、运行原理首先分析测试用例:@Testpublic void testInterface() throws IOException { String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSe...原创 2019-01-26 22:24:45 · 135 阅读 · 0 评论 -
MyBatis(6)——缓存
目录一、一级缓存(本地缓存)1、一级缓存2、工作机制3、一级缓存示例:4、一级缓存失效情况及其生命周期(1)失效情况(2)生命周期二、二级缓存(全局缓存)1、工作机制2、二级缓存的划分3、使用二级缓存(1)设置步骤:(2)测试(3)其他配置三、第三方缓存框架——ehcache1、整合步骤2、测试一、一级缓存(本地缓存)1、...原创 2018-12-30 22:47:44 · 231 阅读 · 0 评论 -
MyBatis(5)——Mapper映射文件_动态SQL
目录一、if、where、trim、choose、set1、if标签与OGNL表达式(1)if标签:(2)OGNL表达式:2、if、where结合3、choose、when、otherwise4、trim5、set二、foreach1、对集合进行遍历2、遍历批量保存(1)MySQL数据库批量保存:(2)Oracle数据库批量保存3、真正...原创 2018-12-28 23:18:54 · 473 阅读 · 0 评论 -
MyBatis(4)——Mapper映射文件_SELECT
查询语句是 MyBatis 中最常用的元素之一,光能把数据存到数据库中价值并不大,如果还能重新取出来才有用,多数应用也都是查询比修改要频繁。<select > </select>标签属性参考表:Select Attributes 属性 描述 id 在命名空间中唯一的标识符,可以被用来引用这条语句。 parameterType 将会传入这条...原创 2018-12-26 17:28:49 · 944 阅读 · 0 评论 -
MyBatis(3)——Mapper映射文件_参数处理
一、增删改查1、INSERT<insert id="insert" parameterType="com.starfall.mybaits.entity.Employee"> insert into employee (employee_id, first_name, last_name, email, phone_number, hire_date, job_id,...原创 2018-12-19 23:16:33 · 2221 阅读 · 0 评论 -
MyBatis(2)——全局配置文件
MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置(settings)和属性(properties)信息。文档的顶层结构如下:configuration 配置properties 属性 settings 设置 typeAliases 类型别名 typeHandlers 类型处理器 objectFactory 对象工厂 plugins 插件 environme...原创 2018-12-10 23:06:59 · 347 阅读 · 0 评论 -
MyBatis(1)——入门
一、简介MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。二、下载原是Apache...原创 2018-12-02 16:32:58 · 873 阅读 · 2 评论 -
MyBatis逆向工程——MyBatis Generator (MBG)-配置文件详解(2)
转载地址:Mybatis Generator(简称MBG)的最完整配置文件其他注意点:(一)<context>元素 用于指定生成一组对象的环境 (1)targetRuntime:用于指定生成的代码的运行时目标 MyBatis3:默认值 豪华版 MyBatis3Simple:简单版的CRUD(二)属性 <!-- 自动识别数据库...转载 2018-02-20 17:52:09 · 730 阅读 · 0 评论 -
MyBatis(15)——类型处理器typeHandlers
目录一、类型处理器1、typeHandler类型处理器具体用处:2、typeHandler结构:3、默认的类型处理器二、自定义类型处理器处理枚举1、MyBatis提供的两个枚举处理器2、定义枚举类型处理器一、类型处理器1、typeHandler类型处理器具体用处:MyBatis在与数据库交互的时候,Executor对象会调用ParameterHandler对...原创 2019-02-11 22:05:25 · 1005 阅读 · 0 评论