命名:习惯命名为 mybatis-config.xml(习惯命名,非强制) 位置:resources文件夹下 加粗代表文件,正常代表文件夹
先放上一篇文章中配置的Mybaits核心配置文件。
<!-- 声明xml的版本号和编码类型-->
<?xml version="1.0" encoding="UTF-8" ?>
<!-- 设置mybatis约束 -->
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 设置数据库的环境 -->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/> //事务管理器,类型JDBC
<dataSource type="POOLED"> //数据源,pooled表示数据库连接池
<property name="driver" value="com.mysql.jdbc.Driver"/> //驱动名称
//链接地址
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=UTF-8"/>
//数据库账号和密码(按实际情况来)
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<!-- 引入映射文件-->
<mappers>
<mapper resource="mappers/UserMapper.xml"/>
</mappers>
</configuration>
在configuration中,我们可以添加标签,用来管理Mybatis配置,类似"environments","mappers"等,可以称为标签。
核心配置文件中的 引入标签的顺序:
是由约束决定的 通过约束 【ctrl+鼠标左键】 可以进入 约束查看
<!ELEMENT configuration (properties?, settings?, typeAliases?, typeHandlers?, objectFactory?,objectWrapperFactory?, reflectorFactory?, plugins?, environments?, databaseIdProvider?, mappers?)>
下面介绍几个常用的标签
在resources中添加文件jdbc.properties
jdbc.driver=com.mysql.jdbc.Driver
#jdbc:url=jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=UTF-8
jdbc.url=jdbc:mysql://localhost:3306/mybatis
jdbc.username=root
jdbc.password=123456
此时,在mybatis-config.xml中,就可使用${属性名}的方式访问属性值
此时的environments 如下所示
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
可以看到,原来的配置信息都使用${jdbc.xxx}来代替。
<settings>
<!--将表中字段的下划线自动转换为驼峰-->
<setting name="mapUnderscoreToCamelCase" value="true"/>
<!--开启延迟加载-->
<setting name="lazyLoadingEnabled" value="true"/>
<!-- 设置是否启动缓存 -->
<setting name="cacheEnabled" value="true"/>
</settings>
<typeAliases>
<!--
type:需要设置别名的类型的全类名
alias:设置此类型的别名,且别名不区分大小写。若不设置此属性,该类型拥有默认的别名,即类名
-->
<!--方法一-->
<!--<typeAlias type="com.mlzx.entity.User"></typeAlias>-->
<!--方法二-->
<!--<typeAlias type="com.mlzx.entity.User" alias="user"></typeAlias>-->
<!--方法三-->
<!--以包为单位,设置改包下所有的类型都拥有默认的别名,即类名且不区分大小写-->
<package name="com.mlzx.mapper"/>
</typeAliases>
<!--引入映射文件-->
<mappers>
<!--方法一-->
<!-- <mapper resource="UserMapper.xml"/> -->
<!--方法二-->
<!--以包为单位,将包下所有的映射文件引入核心配置文件
注意:
1. 此方式必须保证mapper接口和mapper映射文件必须在相同的包下
2. mapper接口要和mapper映射文件的名字一致
-->
<package name="com.mlzx.entity"/>
</mappers>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!--引入properties文件,此时就可以${属性名}的方式访问属性值-->
<properties resource="jdbc.properties" />
<typeAliases>
<!--
typeAlias:设置某个具体的类型的别名
属性:
type:需要设置别名的类型的全类名
alias:设置此类型的别名,且别名不区分大小写。若不设置此属性,该类型拥有默认的别名,即类名
-->
<!-- <typeAlias type="com.mlzx.entity.User" alias="User"></typeAlias>-->
<!--以包为单位,设置改包下所有的类型都拥有默认的别名,即类名且不区分大小写-->
<package name="com.mlzx.entity"/>
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
<!-- 引入映射文件-->
<mappers>
<package name="com.mlzx.mapper"/>
</mappers>
</configuration>
[User{id=1, username='张三', password='12345', age=23, sex='男', email='1234@qq.com'},
User{id=6, username='admins', password='12345', age=23, sex='男', email='1234@qq.com'}]
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。