
MyBatis总结
秋天的猿
这个作者很懒,什么都没留下…
展开
-
MyBatis总结(二十八)--任务39:MyBatis_动态sql_if_判断&OGNL
本文内容来自尚硅谷Junitpackage com.atguigu.mybatis.test;import java.io.IOException;import java.io.InputStream;import java.util.ArrayList;import java.util.Arrays;import java.util.HashMap;import java...翻译 2018-09-16 11:44:55 · 255 阅读 · 0 评论 -
MyBatis总结(二十九)--where、trim、choose、set、foreach使用
本文内容来自山硅谷详细情况可参考http://www.gulixueyuan.com/my/course/43 下面给出xml配置。请注意该xml文件中的注释信息。这就是各种标签的使用实例<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//m...翻译 2018-09-16 12:06:57 · 379 阅读 · 0 评论 -
MyBatis总结(八)--全局配置文件_databaseIdProvider_多数据库支持
databaseIdProvider:使得MyBatis 可以根据不同的数据库厂商执行不同的语句。 在mybatis配置文件中进行如下配置 <!-- 5、databaseIdProvider:支持多数据库厂商的; type="DB_VENDOR":VendorDatabaseIdProvider 作用就是得到数据库厂商的标识(驱动getDatabaseP...翻译 2018-09-10 10:02:30 · 2076 阅读 · 1 评论 -
MyBatis总结(九)--mapper标签介绍
说明:本文内容来自尚硅谷mapper可以注册一个sql映射 用法一(常用这种方式)resource:引用类路径下的sql映射文件实例<mapper resource="mybatis/mapper/EmployeeMapper.xml"/> 用法二url:引用网络路径或者磁盘路径下的sql映射文件实例<mapper ...翻译 2018-09-10 10:50:14 · 2285 阅读 · 0 评论 -
MyBatis总结(十)--实现一个增删改查
该mybatis所有总结均来自尚硅谷本文代码是在MyBatis总结(二)--helloworld基础上进行修改的 1修改EmployeeMapper.xml<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "...翻译 2018-09-10 11:43:59 · 243 阅读 · 0 评论 -
MyBatis总结(一)--简介
本文内容来自尚硅谷mybatis中文官方文档(可选择不同的语言)http://www.mybatis.org/mybatis-3/zh/index.html1mybatis历史原是Apache的一个开源项目iBatis, 2010年6月这 个项目由Apache Software Foundation 迁移到了 Google Code,随着开发团队转投Google Code 旗下, iB...翻译 2018-09-07 09:39:15 · 269 阅读 · 0 评论 -
MyBatis总结(十一)--增加一条数据时,如何获取自动设置主键的id值
背景在https://mp.youkuaiyun.com/postedit/82587521中看出在insert时设置的id值为null,是系统自动分配的id值并保存到数据库。如下图此时想在插入成功时,能够方便的查询出自动分配的id值是多少该怎么办呢? 配置映射文件说明:这里是mysql数据库,所以支持自增策略。而oralce是不支持自增策略的,可以用序列方式来获取主键值这...翻译 2018-09-10 12:03:26 · 3096 阅读 · 0 评论 -
MyBatis总结(十二)--获取非自增主键的值
本文内容来自尚硅谷代码从MyBatis总结(十一)--增加一条数据时,如何获取自动设置主键的id值获取非自增主键值两种方式 方式一:在执行insert语句前查询出序列映射文件如下写法 <!-- 获取非自增主键的值: Oracle不支持自增;Oracle使用序列来模拟自增; 每次插入的数据的主键是从序列中拿到的值;如何获取到这个值; --...翻译 2018-09-10 17:16:43 · 2932 阅读 · 0 评论 -
MyBatis总结(十三)--参数处理_单个参数&多个参数&命名参数
本文内容来自尚硅谷本文代码来自:MyBatis总结(十二)--获取非自增主键的值以查询语句为例目录1情况一:入参只有一个的情况 1.1Junit:查询id值为一的结果集1.2dao文件内容1.3则映射文件可以如下写法2情况二:入参为多个的情况下2.1junit如下2.2dao如下2.3映射文件该如下写才正确2.4那我们希望xml能用如下这种写法该该...翻译 2018-09-10 17:49:16 · 744 阅读 · 0 评论 -
MyBatis总结(二)--helloworld
本文内容来自尚硅谷目录1javaproject的总目录2EmployeeMapper.xml3log4j.xml4mybatis-config.xml5Employee6EmployeeMapper7MyBatisTest1javaproject的总目录 2EmployeeMapper.xml<?xml version="1.0" enc...翻译 2018-09-07 11:11:13 · 257 阅读 · 0 评论 -
MyBatis总结(三十二)--任务84:MyBatis_扩展_批量_BatchExecutor&Spring中配置批量sqlSession
本文内容来自尚硅谷 目录1简单的循环循环一万次的操作方式如下 1.1JUnit 1.2dao 1.3xml 1.4控制台输出2使用mybatis循环提交 2.1JUnit 2.2控制台效果 2.3如果是在整合了ssm的框架中应该如下配置才能得到批量操作的sqlSession 2.3.1applica...翻译 2018-09-25 08:28:10 · 1676 阅读 · 0 评论 -
MyBatis总结(三十三)--MyBatis调用带游标的存储过程
本文内容来自尚硅谷http://www.gulixueyuan.com/course/43/task/1235/show的任务86与任务85 1创建JUnit /** * oracle分页: * 借助rownum:行号;子查询; * 存储过程包装分页逻辑 * @throws IOException */ @Test public void testP...翻译 2018-09-25 09:52:51 · 3876 阅读 · 0 评论 -
MyBatis总结(三十四)--任务67:MyBatis_逆向工程_mbg简介
本文内容来自尚硅谷 1简介• MyBatis Generator: • 简称MBG,是一个专门为MyBatis框架使用者定 制的代码生成器,可以快速的根据表生成对应的 映射文件,接口,以及bean类。支持基本的增删 改查,以及QBC风格的条件查询。但是表连接、 存储过程等这些复杂sql的定义需要我们手工编写 • 官方文档地址 :http://www.mybatis...翻译 2018-09-26 01:13:27 · 456 阅读 · 0 评论 -
MyBatis(三十五)--逆向工程的编写
本文整合了http://www.gulixueyuan.com/my/course/43中的任务68,任务69,任务701映入逆向工程需要的jar包 2任务68:mgb文件的编写<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//myb...翻译 2018-09-26 01:38:56 · 231 阅读 · 0 评论 -
MyBatis总结(三十)--MyBatis_运行原理总结
目录 1说明 1.1 1.2 1.32原理总结 2.1总结的文字描述 2.2介绍下MyBatis的四大对象 2.3图文介绍3分步介绍各个流程3.1根据配置文件创建SQLSessionFactory3.2、返回SqlSession的实现类DefaultSqlSession对象。 他里面包含了Executor和Configu...翻译 2018-09-22 09:15:12 · 261 阅读 · 0 评论 -
MyBatis总结(三十一)--插件原理及使用
目录1说明 1.12自定义一个插件 2.1创建一个java文件2.2说明下这个自定义的插件类 2.2.1自定义插件类,必须实现Interceptor接口 2.2.2 2.2.3 2.2.4 2.2.52.2注册这个自定义的插件类2.3测试2.4效果3自定义多个插件时,该如何执行呢3.1定义第二个插件类3.2...翻译 2018-09-22 11:38:42 · 467 阅读 · 0 评论 -
MyBatis总结(二十七)--任务37:MyBatis_映射文件_select_resultMap_discriminator鉴别器
本文内容来自尚硅谷本文主要是说明鉴别器的用法,这个鉴别器用的不是很多。代码可以使用MyBatis总结(二十六)--任务35:MyBatis_映射文件_select_resultMap_关联查询_collection分步查询&amp;延迟加载中的代码。也可以自己编写。这里就直接基于MyBatis总结(二十六)--任务35:MyBatis_映射文件_select_resultMap_关联...翻译 2018-09-16 11:30:10 · 305 阅读 · 0 评论 -
MyBatis总结(二十六)--任务35:MyBatis_映射文件_select_resultMap_关联查询_collection分步查询&延迟加载
本文内容来自上硅谷与MyBatis总结(二十五)--任务34:MyBatis_映射文件_select_resultMap_关联查询_collection定义关联集合封装规则相比较实现的功能都是一样的,不过本文注重的是分步,与延迟加载目录 1分步1.1Junit1.2dao1.3xml1.4第二个sql的dao1.5第二个sql的xml1.5第二个sql对应的...翻译 2018-09-16 11:11:00 · 336 阅读 · 0 评论 -
MyBatis总结(十五)--MyBatis_映射文件_参数处理_其他入参情况了解
如果dao这种方式传入xml文件public Employee getEmp(@Param("id")Integer id,String lastName);则映射文件可以如下取值:id==>#{id/param1} lastName==>#{param2}(第一个参数两种取值方式都行,第二个参数只能有一种取值方式) 如果dao这种方式传入xml文件public Em...翻译 2018-09-11 18:28:58 · 192 阅读 · 0 评论 -
MyBatis总结(十六)--源码分析参数封装map的过程
源码分析这里不好描述可以直接观看视频http://www.gulixueyuan.com/course/43/task/1172/show(需要注册)下面简单的介绍下 背景:dao中如下方式传入参数时public Employee getEmp(@Param("id")Integer id,String lastName);映射文件用取值:id==>#{id/par...翻译 2018-09-11 18:58:45 · 629 阅读 · 1 评论 -
MyBatis总结(十七)--#与$取值区别
#{}:是以预编译的形式,将参数设置到sql语句中;PreparedStatement;防止sql注入${}:取出的值直接拼装在sql语句中;会有安全问题;大多情况下,我们去参数的值都应该去使用#{}; 原生jdbc不支持占位符(表明和order by后面的列明都只能用${}取值)的地方我们就可以使用${}进行取值比如分表、排序。。。;按照年份分表拆分(及只有传入的是sql语句...翻译 2018-09-11 19:07:41 · 690 阅读 · 0 评论 -
MyBatis总结(十八)--#{}取值方式时更加丰富的用法
本文内容来自尚硅谷 使用方式 参数位置支持的属性 – javaType、jdbcType、mode、numericScale、 resultMap、typeHandler、jdbcTypeName、expression 这里为可能为空的列名指定jdbcType类型。mybatis连接oracle数据库时,当入参对象为null时mybatis默认传给数据...翻译 2018-09-11 19:26:18 · 342 阅读 · 0 评论 -
MyBatis总结(十九)--映射文件_select_返回List
本文内容来自上硅谷 如果dao如下public List<Employee> getEmpsByLastNameLike(String lastName);则xml配置如下<!--resultType:如果返回的是一个集合,要写集合中元素的类型 --><select id="getEmpsByLastNameLike" resultType...翻译 2018-09-11 19:29:01 · 397 阅读 · 0 评论 -
MyBatis总结(二十)--返回map对象的helloworld
本文内容来自上硅谷 1返回的结果集为一条时返回map对象1.1xml配置如下 resultType为map <select id="getEmpByIdReturnMap" resultType="map"> select * from tbl_employee where id=#{id} </select>1.2dao /...翻译 2018-09-11 19:49:03 · 823 阅读 · 0 评论 -
MyBatis总结(二十一)--resultMap的使用
本文内容来自尚硅谷 resultMap属性与resultType属性同等重要不能和resultMap同时使用 使用实例junit @Test public void test05() throws IOException{ SqlSessionFactory sqlSessionFactory = getSqlSessionFact...翻译 2018-09-11 20:24:10 · 238 阅读 · 0 评论 -
MyBatis总结(三)--Eclipse引入dtd约束文件
本文内容来自尚硅谷在使用eclipse编写代码时,往往在xml中无法弹出提示。需要这里配置下。1配置前推荐用方法一2解决方法一在联网状态下,点击xml文件引入的dtd,会自动下载到本地再重新打开xml文件就会出现提示了。(这种方式没有实践过) 3解决方法二在未连接网到状态下,需要吧本dtd文件下载到本地,然后在eclipse中引入dtd。3.1将途中jar包...翻译 2018-09-09 14:45:35 · 1839 阅读 · 0 评论 -
MyBatis总结(四)--配置文件中的properties
本文内容来自尚硅谷1说明1.1properties属性是用来引入外部properties配置文件的内容2.1mybatis与spring整合时,该属性没什么用。但还是了解下该属性 2没有配置properties属性前 3配置properties3.1新建一个properties文件 3.2在xml中引入该文件配置前与配置后的效果是一样的。...翻译 2018-09-09 15:15:27 · 556 阅读 · 0 评论 -
MyBatis总结(五)--settings属性介绍
本文内容来自尚硅谷 说明settings属性是MyBatis 中极为重要的调整设置,它们会改变 MyBatis 的运行时行为。下表描述了设置中各项的意图、默认值等可以在官网中查看所有的set参数值http://www.mybatis.org/mybatis-3/zh/configuration.html#settings这里以mapUnderscoreToCamelCase值...翻译 2018-09-09 15:35:33 · 396 阅读 · 0 评论 -
MyBatis总结(六)--typeAliases属性介绍
说明:typeAliases别名处理器:是为 Java 类型设置一个短的名字,可以方便我们 引用某个类。正常情况下不推荐使用该别名处理器,因为使用了别明处理器不方便直接观察到所对应的类,在项目维护起来不方便 1对单个类起别名在mybatis配置文件中进行如下配置 <!-- 3、typeAliases:别名处理器:可以为我们的java类型起别名 别名不区分大...翻译 2018-09-09 21:26:38 · 7355 阅读 · 1 评论 -
MyBatis总结(七)--environments属性介绍
本文内容来自尚硅谷可配置多个数据源,用id指定到底使用哪个数据源 1配置实例这里使用了dev_mysql数据源 <!-- 4、environments:环境们,mybatis可以配置多种环境 ,default指定使用某种环境。可以达到快速切换环境。 environment:配置一个具体的环境信息;必须有两个标签;id代表当前环境的唯一标识 tran...翻译 2018-09-09 21:53:29 · 3320 阅读 · 0 评论 -
MyBatis总结(二十二)--MyBatis_映射文件_select_resultMap_关联查询_association定义关联对象封装规则
本文内容来自尚硅谷任务31:MyBatis_映射文件_select_resultMap_关联查询_association定义关联对象封装规则本文介绍了association的基本使用方法下面就是具体的代码本文代码可以基于MyBatis总结(二)--helloworld代码 Junit代码 @Test public void test05() throws IOExce...翻译 2018-09-16 10:06:42 · 506 阅读 · 0 评论 -
MyBatis总结(二十三)--任务32:MyBatis_映射文件_select_resultMap_关联查询_association分步查询
与MyBatis总结(二十二)--MyBatis_映射文件_select_resultMap_关联查询_association定义关联对象封装规则相比较,本文注重的是分部查询(及执行两次sql语句)。 Junit代码 @Test public void test05() throws IOException{ SqlSessionFactory sqlSessionF...翻译 2018-09-16 10:23:31 · 351 阅读 · 0 评论 -
MyBatis总结(二十四)--任务33:MyBatis_映射文件_select_resultMap_关联查询_分步查询&延迟加载
本文与任务33:MyBatis_映射文件_select_resultMap_关联查询_分步查询&amp;延迟加载重在使用延迟加载的这个点上代码还是与任务33:MyBatis_映射文件_select_resultMap_关联查询_分步查询&amp;延迟加载一致,只需要在ibatis的配置文件中添加懒加载的配置及可 ibatis的配置文件中添加如下配置conf/myba...翻译 2018-09-16 10:36:09 · 162 阅读 · 0 评论 -
MyBatis总结(二十五)--任务34:MyBatis_映射文件_select_resultMap_关联查询_collection定义关联集合封装规则
本文内容来自上硅谷主要介绍了collection的基本用法本项目的目录结构如下 Junit @Test public void test06() throws IOException{ SqlSessionFactory sqlSessionFactory = getSqlSessionFactory(); SqlSession openSession = sq...翻译 2018-09-16 10:51:11 · 204 阅读 · 0 评论 -
MyBaits总结(十四)--MyBatis_映射文件_参数处理_POJO&Map&TO
代码来自:MyBatis总结(十三)--参数处理_单个参数&amp;多个参数&amp;命名参数本文内容来自尚硅谷在MyBatis总结(十三)--参数处理_单个参数&amp;多个参数&amp;命名参数中多个参数时解决办法是通过在dao中使用注释给每个参数命名的方式来解决问题。下面提供更加好的更精确的方式来解决问题目录1如果入参是多个参数且都是业...翻译 2018-09-11 18:15:42 · 369 阅读 · 0 评论