sql元素sql元素可以被用来定义可重用的SQL代码段,可以包含在其他语句中。它可以被静态地(在加载参数时) 参数化。不同的属性值通过包含的实例发生变化。例如:<sql id="userColumns"> ${alias}.id,${alias}.username,${alias}.password </sql&g...

insert、update 和delete元素insert,update和delete元素用来映射DML语句,是MyBatis 中最常用的元素之一。insert,update和delete元素配置和select 非常接近。例如:<insert id="insertUser" parameterType="cn.myb...

MyBatis的真正强大之处在于它的映射语句,这也是它的魔力所在。由于它的功能异常强大,映射器的XML文件就显得相对简单。如果拿它跟具有相同功能的JDBC代码进行对比,你会立即发现省掉了将近95%的代码。MyBatis 就是针对SQL 构建的,并且比普通的方法做得更好。SQL映射文件常用的元素如下:select。映射查询语句。insert。映射插入语句...

MyBatis每次创建结果对象的新实例时,它都会使用一个对象工厂(ObjectFactory) 实例来完成。默认的对象工厂需要做的仅仅是实例化目标类,要么通过默认构造方法,要么在参数映射存在的时候通过参数构造方法来实例化。如果想覆盖对象工厂的默认行为,则可以通过创建自己的对象工厂来实现。// 自定义对象工厂 public class ExampleOb...

修订于:2018年9月2日类型处理器(typeHandlers)无论是 MyBatis在预处理语句(PreparedStatement)中设置一个参数时,还是从结果集中取出一个值时, 都会用类型处理器将获取的值以合适的方式转换成Java类型。下表描述了一些默认的类型处理器。 类型处理器 Java 类型 ...

修订于:2018年9月2日typeAliases类型命名类型别名是为Java类型设置的一个短的名字。它只和XML配置有关,存在的意义仅在于用来减少类完全限定名的冗余。<typeAliases><typeAlias alias="user" type="cn.mybatis.domain.User"...

修订于:2018年9月2日简介MyBatis的配置文件包含了影响MyBatis行为的信息。文档的结构如下:顶层configuration 配置properties属性settings设置typeAliases类型命名typeHandlers类型处理器objectFactory对象工厂plugins插件environments环境environment环...

修订时间:2018年9月1日我们知道MyBatis的持久化操作离不开SqlSessionFactory对象,该对象由SqlSessionFactoryBuilde加载MyBatis的配置文件产生。SqlSessionFactory对象的openSession方法可以打开SqlSession对象。具体代码如下所示:// 读取mybatis-config....

本文更新日期:2019年10月4日1、SqlSession 简介关于SqlSession的作用,官方文档是这样介绍的:The primary Java interface for working with MyBatis. Through this interface you can execute commands, get mappers and ...

本文更新日期:2019年9月22日1、SqlSessionFactory简介SqlSessionFactory是MyBatis中的一个重要的对象,它是用来创建SqlSession对象的,而SqlSession用来操作数据库的。2、SqlSessionFactory生成SqlSessionFactory对象可以通过SqlSessionFactoryBui...

MyBatis3.0相比2.0版本的一个最大变化,就是支持使用接口来调用方法。以前使用SqlSession通过命名空间调用MyBatis方法时,首先需要用到命名空间和方法id组成的字符串来调用相应的方法。当参数多于1个的时候,需要将所有参数放到一个Map对象中。通过Map传递多个参数,使用起来很不方便,而且还无法避免很多重复的代码。使用接口调用方式就会...

本文更新日期:2019年9月21日MyBatis 官方 GitHub地址MyBatis官方GitHub地址为:https://github.com/mybatis 。在官方GitHub 中可以看到MyBatis的多个子项目。MyBatis 源码 GitHub地址https://github.com/mybatis/mybatis-3MyBatis 代码...