使用 mybatis 的时候,如果无法查看 sql 语句,这将非常不方便,因为出现错误无法调试程序。所以应该开启 mybatis 日志功能,在控制台打印 sql 方便调试程序。mybatis 内置了日志工厂类,内置的日志工厂将日志输出交给以下其中一种工具作代理:SLF4JApache Commons LoggingLog4j 2Log4jJDK log...

今天有点忙,但是还是想挤出时间给大家送福利。铁打的网站,流水的成员,如果我不多做一点,妄想让其他人多做贡献,也是无用的。今天打算送出mybatis中文网的第二个福利。很多人期待送《趣谈shell》,满足大家的愿望。一年了,网站和群的成长也很不容易,碰到了一个又一个键盘侠,感谢那些有正义感的人,能站出来,说句公道话。所以,第二个福利送给那些曾经支持过网站...

MyBatis 的强大特性之一便是它的动态 SQL。如果你有使用 JDBC 或其它类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句的痛苦。例如,拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL 这一特性可以彻底摆脱这种痛苦。在 MyBatis 之前的版本中,有很多动态 SQL 元素需要花时间了解。MyB...

本文更新日期:2019年12月14日我们mybatis中文官网,分享了大量高质量的mybatis内容,有部分内容属于独家解析,全网首创,例如:一针见血MyBatis插件机制,MyBatis学习建议,MyBatis各种面试题等等。由于在mybatis领域的良好口碑,吸引了大量的读者,更有热心读者分享了一些视频资源。本视频包括三个套餐,如下所示。以上资源的...

在mybatis框架中,JavaType和ofType都是用来指定对象类型的。JavaType和ofType的区别在于:JavaType用来指定POJO中属性的类型,而ofType指定的是映射到List集合中POJO的类型。如下面代码所示:mybatis POJO类:public class User { private int id; ...

一个博客(Blog)只有一个作者(Author),但一个博客有很多文章(Post)。 在博客类中,这可以用下面的写法来表示:private List<Post> posts;映射结果集合到一个 List 中,可以使用集合元素<collection>。和关联映射一样,我们可以使用嵌套 Select 查询,或基于连接的嵌套结果映射集...

关于mybatis的关联映射,之前写过一个系列:《mybatis关联映射》,本文希望从一个新的角度来阐述一下关联。mybatis关联映射简介关联(association)元素处理"有一个类型"的关系。 比如,一个博客有一个用户。关联结果映射和其它类型的映射工作方式差不多。关联的不同之处是,你需要告诉 MyBatis 如何加载关联。MyBatis有两种不...

我是站长,从2003年开始接触计算机,至今已有16年。某重点大学硕士毕业。精通Java,C/C++,Python,熟悉Web开发,擅长大数据,对数学和英语情有独钟。本文是出自我的小册子:《一针见血ThreadLocal》。1、ThreadLocal原理介绍ThreadLocal的原理是什么呢?我相信肯定有些人会语塞,无从说起。即便心里有种朦胧的感觉,但...

我是站长,从2003年开始接触计算机,至今已有16年。某重点大学硕士毕业。精通Java,C/C++,Python,熟悉Web开发,擅长大数据,对数学和英语情有独钟。本文是出自我的小册子:《一针见血ThreadLocal》。前言:最近发了一篇文章,关于threadlocal内存泄漏的,收藏量挺大的,不过我个人感觉还有些地方可以阐述地更一针见血,所以又重新...

SSM风靡当前的Java世界,面试官不经意间就会甩出一道必杀题:请你说一下mybatis的工作原理。虽然大家每天都在使用mybatis做增删改查的工作,但是面对这个问题往往也得需要好好的准备一下,才能应对自如。看了很多网上的总结,都是只见树木不见森林,可见这些人的水平和见识尚浅,道行和修为还有待提升。MyBatis的基本工作原理就是:先封装SQL,接着...

在Java中,类的全限定名往往会很繁琐,在mybatis使用这些类型的时候,需要配置很复杂的属性,例如:<select id="getUser" parameterType="int" resultType="cn.mybatis.mydemo.domain.User"> ...

在使用mybatis过程中经常用到类型别名,除了mybatis自带了很多类型别名和java中的类型的映射,我们自己还可以新建别名外,下面先看一个自建别名的配置信息:<typeAliases> <typeAlias type="cn.mybatis.entity.User" alias="User...

Mybatis中的别名的起源我们对别名的认识最初是在数据库中,例如,select时取别名的做法是这样的:select 列名 as 列别名, //取别名方法1 列名 列别名, //取别名方法2 from 表名;上面这两种取别名方法是所有数据库通用的。在 SQL 语句中,可以为表名称及字段(列)名称指定别名(Alias),别名是 SQL 标准语法,...

前言曾经读到一篇文章,有句话印象十分的深刻:没有一个内容作者,是可以凭空冒出的,你看见的所有看似普通的文字,背后往往都需要多年的积累才能酝酿。的确如此,看似小小的threadlocal,往往随着年龄和阅历的增长,体会到的内涵是不一样的。因为背后是时间的沉淀和苦灯冷月的思考。第一部分:首先说一下我学习threadlocal的经历。刚开始,我也不是一下子就...