Mybatis简介
收藏

对Mybatis的基本用法做一个简要的介绍,包括Mybatis的基本用法、部分设计、源码解析等。博文会在笔者觉得有需要的时候进行更新。

分享到: Sina Tec

最近更新文章

Spring Boot(19)——使用Mybatis

使用Mybatis Mybatis官方提供了整合Spring Boot的Starter,需要在Spring Boot应用中使用Mybatis,需要在pom.xml中添加如下依赖,当前最新的版本是1.3.2。 <dependency> <groupId>org.mybatis.spring.boot</groupId> <art ...
234390216 评论(0) 有3785人浏览 2019-04-17 20:48

Mybatis调用存储过程

调用存储过程 mybatis调用存储过程时需要指定statementType="CALLABLE",这样Mybatis内部中调用sql语句时将采用CallableStatementHandler,而CallableStatementHandler内部将使用CallableStatement来调用存储过程。如果存储过程是有参数的,需要指定mode属性,可选值有IN、OUT和IN ...
234390216 评论(0) 有8968人浏览 2017-11-04 20:14

推荐一款Mybatis分页插件

推荐一款Mybatis分页插件 以前也写过一篇博文介绍Mybatis的插件,以及如何通过Mybatis的插件功能实现一个自定义的分页插件,但是那个插件的侵入性是比较大的。前段时间遇到了一款开源的Mybatis分页插件,叫PageHelper,github地址是https://github.com/pagehelper/Mybatis-PageHelper,其原理是通过ThreadLocal来存放 ...
234390216 评论(3) 有16532人浏览 2017-06-01 08:33

Mybatis取出来的Date没有时间,只有日期

最近遇到一个问题,数据库存储的Date是包含时分秒的,数据库用的是Oracle,日期类型用的是date,数据库访问用的是Mybatis,对应的代码是通过Mybatis-Generator生成的。经检查发现是生成的代码中,存储了时分秒的字段在映射的时候对应的jdbcType是DATE,改成TIMESTAMP就好了。  
234390216 评论(1) 有17573人浏览 2017-03-08 20:16

Mybatis指定日志输出实现

10             Mybatis指定日志输出实现          在程序开发过程中,为了调试方便、了解程序的运行过程,进行必要的日志输出总是免不了的。对于使用Mybatis而言,我们常见的需求是希望可以在日志中打印出Mybatis执行过程中进行数据库操作的SQL语句及其传递的参数。Mybatis的日志输出是统一管理的,它有自己的日志接口,然后在需要进行日志输出的时候使用统一的 ...
234390216 评论(0) 有17447人浏览 2017-02-24 09:19

Mybatis介绍之参数传递

9       Mybatis介绍之参数传递 9.1     使用Mapper接口时参数传递方式        Mybatis在使用Mapper接口进行编程时,其实底层是采用了动态代理机 ...
234390216 评论(1) 有19006人浏览 2017-02-20 10:26

Mybatis介绍之缓存

8       Mybatis介绍之缓存 Mybatis中有一级缓存和二级缓存,默认情况下一级缓存是开启的,而且是不能关闭的。一级缓存是指SqlSession级别的缓存,当在同一个SqlSession中进行相同的SQL语句查询时,第二次以后的查询不会从数据库查询,而是直接从缓存中获取,一级缓存最多缓存1024条SQL。二级缓存是指可以跨SqlSession的缓存。          M ...
234390216 评论(0) 有17380人浏览 2017-02-14 10:54

Mybatis结果集自动映射

7       Mybatis结果集自动映射          在使用Mybatis时,有的时候我们可以不用定义resultMap,而是直接在<select>语句上指定resultType。这个时候其实就用到了Mybatis的结果集自动映射。Mybatis的自动映射默认是开启的,其在映射的时候会先把没有在resultMap中定义字段映射的字段按照名称相同的方式自动映射到返回类 ...
234390216 评论(0) 有20781人浏览 2017-02-06 14:14

Mybatis的Executor介绍(二)——批处理,批量更新

6       Mybatis的Executor介绍(二)——批处理        在程序中,有时候我们需要批量的去操作一些数据,批量的新增、修改、删除,如果是通过for循环一条记录一条记录的去更新无疑效率会比较慢。更佳的做法无疑是采用JDBC对批处理的支持。Mybatis基于JDBC对批处理的支持,也提供了进行数据的批量操作的API,BatchExecutor。下面是一段JDBC进行批量 ...
234390216 评论(0) 有28562人浏览 2017-01-18 10:47

Mybatis的Executor介绍(一)

5       Mybatis的Executor介绍(一)   目录   5       Mybatis的Executor介绍(一) 5.1        SimpleExecutor 5.2        ReuseExecutor 5.3        BatchExecutor 5.4        Executor的选择 5.4.1
234390216 评论(2) 有20075人浏览 2017-01-07 09:46

Mybatis查询延迟加载

Mybatis查询延迟加载   目录 1.1        启用延迟加载 1.2        分析 1.3        aggressiveLazyLoading 1.4        lazyLoadTriggerMethods   1.1     启用延迟加载        Mybatis的延迟加载是针对嵌套查询而言的,是指在进行查询的时候先只查询最外层的
234390216 评论(1) 有17892人浏览 2017-01-06 14:19

Mybatis核心杂谈

  Mybatis杂谈   目录 1.1        配置解析 1.2        全局配置简介 1.3        应用浅析            本文主要介绍Mybatis的配置解析对应的Class、Mybatis的全局配置等,每个点都不会讲太多细节的东西,只是提一下对应的点,更多细节的东西请有兴趣的读者自己去挖掘。
234390216 评论(0) 有15949人浏览 2017-01-06 14:12

Mybatis表对象继承实现

       Mybatis表对象继承        我们一般用表来表现对象之间的继承关系时通常有三种方式。第一种是把所有对象包含的属性都存放在一张表中,然后用一个字段来区分当前记录对应的对象类型;第二种是每个子类型一张表,每张表都存该对象所有的属性;第三种是基类作为一张表进行存储,每个子类特性的属性都新建一张表进行保存,然后在基类对应的表里面通过一个字段来区分对象的类型。第二种跟普通 ...
234390216 评论(0) 有22624人浏览 2016-12-21 17:25

Mybatis通过一条SQL查出关联的对象

 Mybatis通过一条SQL查出关联的对象 以往在做对象的查询时如果需要把关联的对象一起查出来是通过resultMap的子查询来进行的,这种用法可以参考我 ...
234390216 评论(0) 有17914人浏览 2016-12-20 20:00

Mybatis返回Map的一种实现

Mybatis返回Map的一种实现 前言        在使用Mybatis进行系统开发的时候,有时候我们会有这么一种需求:我们希望通过Mybatis查询某一个表返回的结果是一个Map,而这个Map的Key是表的一个字段,Value是另一个字段。然而当我们按照Mybatis的做法,指定查询Mapper语句的resultType为
234390216 评论(12) 有95741人浏览 2013-09-15 21:38

Mybatis拦截器介绍及分页插件

Mybatis拦截器介绍及分页插件 1.1    目录 1.1 目录 1.2 前言 1.3 Interceptor接口 1.4 注册拦截器 1.5 Mybatis可拦截的方法 1.6 利用拦截器进行分页 1.2   ...
234390216 评论(68) 有101716人浏览 2013-04-21 19:48

Mybatis类型转换介绍

Mybatis类型转换介绍 1.1     目录 1.2     建立TypeHandler 1.2.1    TypeHandler接口 1.2.2    BaseTypeHandler抽象类 1.3     注册TypeHandler 1.4     Mybatis自动获取TypeHandler 1.5     Mybatis中自动注册的TypeHandler     ...
234390216 评论(12) 有104618人浏览 2013-04-15 20:49

Mybatis整合Spring

Mybatis整合Spring        根据官方的说法,在ibatis3,也就是Mybatis3问世之前,Spring3的开发工作就已经完成了,所以Spring3中还是没有对Mybatis3的支持。因此由Mybatis社区自己开发了一个Mybatis-Spring用来满足Mybatis用户整合Spring的需求。下面就将通过Mybatis-Spring来整合Mybatis跟Spring的 ...
234390216 评论(17) 有174784人浏览 2013-04-07 20:49

Mybatis中配置Mapper的方法

Mybatis中配置Mapper的方法          在这篇文章中我主要想讲一下Mybatis配置文件中mappers元素的配置。关于基础部分的内容可以参考http://elim.iteye.com/blog/1333271。        我们知道在Mybatis中定义Mapper信息有两种方式,一种是利用xml写一个对应的包含Mapper信息的配置文件;另一种就是定义一个Mappe ...
234390216 评论(11) 有234191人浏览 2013-04-02 20:38

MyBatis的动态SQL详解

基础部分可以查看我的另一篇博客:http://elim.iteye.com/blog/1333271   MyBatis的动态SQL是基于OGNL表达式的,它可以帮助我们方便的在SQL语句中实现某些逻辑。 MyBatis中用于实现动态SQL的元素主要有:   if choose(when,otherwise) trim where set foreach if就是简单 ...
234390216 评论(13) 有217238人浏览 2012-01-09 12:08
  • 专栏创建者:234390216
  • 创建时间:2013-04-02 20:44:10
  • 专栏文章数:23篇
  • 专栏被浏览:1398318 次

本专栏热门文章

最新评论

snfdf 写道BatchExecutor的源码帖错了。谢谢指正,已修复
234390216 评论了 Mybatis的Executor介绍(一)
BatchExecutor的源码帖错了。
snfdf 评论了 Mybatis的Executor介绍(一)
...
ITOYO1234567890 评论了 Mybatis取出来的Date没有时间,只有日期
shiylqq 写道以前使用的时候发现和dubbo同时使用时,夸jvm调用Page对象不能反序列话,不 ...
diggywang 评论了 推荐一款Mybatis分页插件
shiylqq 写道以前使用的时候发现和dubbo同时使用时,夸jvm调用Page对象不能反序列话,不 ...
234390216 评论了 推荐一款Mybatis分页插件
以前使用的时候发现和dubbo同时使用时,夸jvm调用Page对象不能反序列话,不知道现在支持了没
shiylqq 评论了 推荐一款Mybatis分页插件
基于 StatementHandler 做拦截好像无法使用 cache 了
liu.anxin 评论了 Mybatis拦截器介绍及分页插件
请问楼主,最后一种用sqlsessiontemplate的方法可否在mapper.xml中不指定nam ...
yangwu203x 评论了 Mybatis整合Spring
知道原因啦。不能继承RowBounds,直接按照楼主所写即可
culven 评论了 Mybatis拦截器介绍及分页插件
楼主帮忙看下:我在page的params中加入条件查询,总数查出来了,但是具体数据没有查出来,不知怎么 ...
culven 评论了 Mybatis拦截器介绍及分页插件
Global site tag (gtag.js) - Google Analytics