mybatis之配置优化
属性优化
properties
- 外部配置文件【db.properties】
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=UTF8&serverTimezone=UTC
username=root
password=admin#1234
- 引入外部配置文件
<!-- 引入外部配置文件,也可以加入一些属性,当两者冲突时,以外部文件为准-->
<properties resource="db.properties">
<property name="username" value="root"/>
<property name="password" value="123456"/>
</properties>
environments
<!--可以配置多个环境变量,但是同时只能选择一个环境 <environments default="test">-->
<environments default="test">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=UTF8&serverTimezone=UTC"/>
<property name="username" value="root"/>
<property name="password" value="admin#1234"/>
</dataSource>
</environment>
<environment id="test">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
settings
<settings>
<!-- 是否开启缓存-->
<setting name="cacheEnabled" value="true"/>
<!-- 是否开启懒加载-->
<setting name="lazyLoadingEnabled" value="true"/>
<!--允许 JDBC 支持自动生成主键,需要数据库驱动支持。如果设置为 true,将强制使用自动生成主键。尽管一些数据库驱动不支持此特性,但仍可正常工作(如 Derby)-->
<setting name="useGeneratedKeys" value="false"/>
<!--是否开启驼峰命名自动映射,即从经典数据库列名 A_COLUMN 映射到经典 Java 属性名 aColumn。-->
<setting name="mapUnderscoreToCamelCase" value="false"/>
<!-- 指定 MyBatis 所用日志的具体实现,未指定时将自动查找。 SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING-->
<!-- <setting name="logImpl" value="LOG4J "/>-->
</settings>
别名优化
<!-- 给实体类加别名-->
<typeAlias type="com.yeyue.pojo.User" alias="User"></typeAlias>
<!-- <package name="com.yeyue.pojo"/> 指定一个包名,会在包下扫描实体类,默认以类名的首字母小写作为别名,不可以自定义别名,但可以借助注解来实现
@Alias("RealUser")
public class User {}
-->
<typeAliases>
<package name="com.yeyue.pojo"/>
</typeAliases>
映射器
- UserMapper.xml直接在核心配置文件中注册
<mapper resource="com\yeyue\dao\UserMapper.xml"/>
-
通过接口类来映射
- 类和mapper配置文件需要同名
- 类和mapper配置文件必须在同一包下
<mapper class="com.yeyue.dao.UserMapper"/>
- 通过包来映射
- 类和mapper配置文件需要同名
- 类和mapper配置文件必须在同一包下
<package name="com.yeyue.dao"/>

浙公网安备 33010602011771号