mybatis mysql 配置文件详解_MyBatis 配置文件详解

根元素,子元素:

这些子元素的配置是有顺序的,只能按照上面的顺序配置。

可缺省部分子元素。

用于将内部的配置外在化,在中引入外部配置即可。

比如数据库的连接信息,我们可以直接写在全局配置文件中:

考虑到更换数据库时,运维从一大堆代码不好找数据库的连接信息,我们可以把数据库的连接信息拿出来,单独写在一个配置文件中。

sql.properties:

mysql_driver=com.mysql.cj.jdbc.Driver

mysql_url=jdbc:mysql://localhost:3306/my_db?serverTimezone=GMT

mysql_username=chy

mysql_password=abcd

#oracle_driver=.....

#oracle_url=.....

#oracle_username=.....

#oracle_password=.....

mybatis-config.xml:

用于设置mybatis运行时的参数。常用的项有:

cacheEnabled:是否使用缓存,boolean值,默认为false

lazyLoadingEnabled :是否使用懒加载,boolean值,默认为false

defaultStatementTimeout:设置超时时间,默认单位秒

mapUnderscoreToCamelCase:是否启用camel命名规则的映射,boolean值,默认为false

logImpl:使用的日志框架

一般只需配置logImpl:

如果不使用日志框架,可以缺省此配置。

用于配置pojo类别名。

在映射文件中,如果parameterType、 resultType是自己写的pojo类,必须使用全限定类名:

resultType="com.chy.pojo.Student"

又臭又长,很麻烦。可以使用别名。

配置pojo类的别名:

resultType="Student"

直接写别名即可。

如果缺省alias属性,默认为类名的camel写法,比如Student => student。

也可以使用注解来配置pojo类的别名:

@Alias(value = "Student")public classStudent {//......

}

可以缺省属性名,简写为

@Alias("Student")

如果觉得一个一个地配置pojo类很麻烦,可以使用包自动扫描:

这个包下所有的pojo类都使用camel命名方式的别名。

在映射文件中使用别名有一个缺点:Ctrl+左键不会转到定义处。

将参数传给预处理语句时,需要将数据从javaType(java类型)转换为jdbcType(jdbc类型);

将结果集中的数据转换为指定类型时,需要将数据从jdbcType转换为javaType。

这2个过程都要用到typeHandler(类型转换器)。一般我们使用mybatis自带的类型转换器即可,也可以在中引用自定义的类型转换器。

ObjectFactory负责创建结果实例。

将查询结果映射为指定对象时,默认的ObjectFactory先调用无参的构造器创建pojo类的实例,再调用setter方法注入值。

一般我们使用默认的ObjectFactory即可,也可以在中引用自定义的ObjectFactory类。

mybatis允许在将查询结果映射为指定类型的过程中,以插件形式执行自定义的代码。

环境配置,mybatis是持久层框架,它的环境自然是数据库,即数据库的配置。

一般要配置多个环境,开发一个环境,正式使用一个环境。default指定要使用哪个。

一个即一个环境(数据库配置)。

指定使用哪种事务管理,通常使用JDBC的事务管理。如果搭配Spring使用,一般使用Spring的事务管理(在spring中配置事务管理),不在mybatis中配置事务。

配置数据源,mybatis提供了三种数据源:

UNPOOLED    不使用连接池

POOLED   使用连接池

JNDI   适合在在EJB或应用服务器等容器中使用

type指定使用哪种数据源,子元素设置具体选项。

UNPOOLED

不使用连接池,适合对性能没有要求的、简单的应用程序。

常用属性:

driver、url、username、password

defaultTransactionlsolationLevel   设置默认的事务隔离级别

POOLED

操作数据库速度更快,适合高并发的程序,很常用。

常用属性:

driver、url、username、password

defaultTransactionlsolationLevel   设置默认的事务隔离级别

poolMaximumActiveConnections   最大活跃连接数

poolMaximumIdleConnections   最大闲置连接数

用于引入映射文件。写法很多,常用的有3种:

通过映射文件的路径引入

通过mapper接口类引入

通过包名引入

这种最常用,可以一次性引入mapper包下所有的映射文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值