Mybatis核心配置文件

mybatis-config.xml系统核心配置文件

configuration(配置)

properties(属性)

settings(设置)

typeAliases(类型别名)

objectFactory(对象工厂)

plugins(插件)

environments(环境配置)

environment(环境变量)

transactionManager(事务管理器)

datasource(数据源)

databaseIdProvider(数据库厂商表示)

mappers(映射器)

元素节点的顺序不对会报错,有的节点可以不写。

environments元素

配置Mybatis的多套运行环境,将SQL映射到多个不同的数据库上,必须制定其中一个为默认运行环境,通过default指定。

子元素节点environment

dataSource元素使用标准的JDBC数据源接口来配置JDBC连接对象的资源。

数据源是必须配置的

有三种内建的数据源类型

type="[UNPOOLED|POOLED|JNDI]"

unpooled:这个数据源的实现只是每次被请求时打开和关闭连接。

pooled:这种数据源的实现利用“池”的概念将JDBC连接对象组织起来,这是一种使得并发web应用快速响应请求的流行处理方式。

jndi:这个数据源的实现是为了能在如Spring或应用服务器这类容器中使用,容器可以集中或在外部配置数据源,然后放置一个JNDI上下文的引用。

数据源也有很多第三方的实现,比如c3p0,dbcp,druid等等...

子元素节点:transactionManager事务管理器

子元素节点:dataSource数据源

mappers

映射器:定义映射SQL语句文件

引入资源方式

使用相对于类路径的资源引用

使用完全限定资源定位符

使用映射器接口实现类的完全限定类名,需要配置文件名称和接口名称一致,并且位于同一目录下

将包内的映射器接口实现全部注册为映射器,但是需要配置文件名称和接口名称一致,并且位于同一目录下。

Mapper文件

PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

namespace:命名空间

namespace的命名必须跟某个接口同名

接口中的方法与映射文件中sql语句id应该一一对应

namespace和子元素的id联合保证唯一,区别不同的mapper

绑定DAO 接口

namespqce命名规则:包名+类名

Properties优化

数据库这些属性都是可外部配置且可动态替换的,既可以在典型的Java属性文件中配置,也可以通过properties元素的子元素来传递。

第一步:在资源目录下新建一个db.properties

第二步:将文件导入properties配置文件

typeAliases优化

类型别名是为java类型设置一个短的名字。它只和xml配置有关,存在的意义仅在于用来减少类完全限定名的冗余。

这样配置时,User可以用在任何使用com.qiao.pojo.User的地方

也可以指定一个包名,Mybatis会在包名下面搜索需要的javaBean,

每一个在包com.qiao.pojo中的javabean,在没有注解的情况下,会使用Bean的首字母小写的非限定类名来作为它的别名。若有注解,则别名为其注解值。

@Alias("user")

public class User {

  ...

}

设置

设置相关(settings)

懒加载

日志实现

缓存开启关闭

类型处理器

无论是MyBatis在预处理语句(PreparedStatement)中设置一个参数时,还是从结果集中取出一个值时,都会用类型处理器将获取的值以合适的方式转换成java类型。

对象工厂

MyBatis每次创建结果对象的新实例时,它都会使用一个对象工厂实例来完成。

默认的对象工厂需要做的仅仅是实例化目标类,要么通过默认构造方法,要么在参数映射存在的时候通过有参构造方法来实例化。

你可能感兴趣的:(Mybatis核心配置文件)