MyBatis配置文件mybatis-config.xml中properties,typeAliases,mappers标签的使用详解
2023-12-20 18:30:00
文章目录
MyBatis配置文件mybatis-config.xml中各种配置标签的使用详解
1、db.properties配置文件的使用
1.1、在src-main-resources目录下创建db.properties文件中主要为来连接数据库的各个参数
MySQL5版本
db.driver=com.mysql.jdbc.Driver
db.url=jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf8
db.user=root
db.password=root
MySQL8版本
db.driver=com.mysql.cj.jdbc.Driver
db.url=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=PRC
db.user=root
db.password=root
1.2、在mybatis-config.xml配置文件中引用db.properties文件
<?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 resource="db.properties"></properties>
<!--使用dev环境-->
<environments default="dev">
<!--dev环境-->
<environment id="dev">
<transactionManager type="JDBC"></transactionManager>
<!--使用连接池中的数据源-->
<dataSource type="POOLED">
<!-- value中引用的值一定要和db.properties文件中的参数名一样 -->
<property name="driver" value="${db.driver}"/>
<property name="url" value="${db.url}"/>
<property name="username" value="${db.user}"/>
<property name="password" value="${db.password}"/>
</dataSource>
</environment>
</environments>
</configuration>
2、typeAliases标签定义实体类别名
2.1、查看mybatis源码可以看到 Mybatis 默认支持的别名:
2.2、在mybatis-config.xml文件中为实体类定义别名,提高书写效率:
<?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 resource="db.properties"></properties>
<typeAliases>
<!--定义单个别名-->
<!--<typeAlias type="cn.fpl1116.pojo.User" alias="User"></typeAlias>-->
<!--批量给pojo定义别名,推荐使用小写-->
<package name="cn.fpl1116.pojo"/>
</typeAliases>
<!--使用dev环境-->
<environments default="dev">
<!--dev环境-->
<environment id="dev">
<transactionManager type="JDBC"></transactionManager>
<!--使用连接池中的数据源-->
<dataSource type="POOLED">
<property name="driver" value="${db.driver}"/>
<property name="url" value="${db.url}"/>
<property name="username" value="${db.user}"/>
<property name="password" value="${db.password}"/>
</dataSource>
</environment>
</environments>
</configuration>
2.3、自定义别名的使用
<mapper namespace="cn.fpl1116.mapper.UserMapper">
<!--使用别名-->
<select id="getUserById" parameterType="int" resultType="user">
select * from user where id = #{id}
</select>
<!--不使用别名-->
<select id="getUserById" parameterType="java.lang.Integer" resultType="cn.fpl1116.pojo.User">
select * from user where id = #{id}
</select>
</mapper>
2.4、debug查看自定义注册的别名
在sqlsession——configuration——typeAliasesRegistry——TYPE_ALIASES中可以看到该标签默认的别名和自定义的别名
3、Mappers标签引入映射文件的使用
3.1、使用mapper映射文件的路径
<mappers>
<mapper resource="cn/fpl1116/mapper/UserMapper.xml"/>
</mappers>
3.2、使用mapper接口的路径
<mappers>
<mapper class="cn.fpl1116.mapper.UserMapper"></mapper>
</mappers>
注意:此种方法要求 mapper 接口名称和 mapper 映射文件名称相同
3.3、使用mapper接口的包名批量引入
<mappers>
<package name="cn.fpl1116.mapper"></package>
</mappers>
注意:此种方法要求 mapper 接口名称和 mapper 映射文件名称相同
4、按照上面标签优化后的mybatis-config.xml配置文件完整代码如下:
<?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 resource="db.properties"></properties>
<typeAliases>
<!--<typeAlias type="cn.fpl1116.pojo.User" alias="User"></typeAlias>-->
<!--批量给pojo定义别名,推荐使用小写-->
<package name="cn.fpl1116.pojo"/>
</typeAliases>
<!--使用dev环境-->
<environments default="dev">
<!--dev环境-->
<environment id="dev">
<transactionManager type="JDBC"></transactionManager>
<!--使用连接池中的数据源-->
<dataSource type="POOLED">
<property name="driver" value="${db.driver}"/>
<property name="url" value="${db.url}"/>
<property name="username" value="${db.user}"/>
<property name="password" value="${db.password}"/>
</dataSource>
</environment>
</environments>
<!-- 扫描映射文件 -->
<!--加载mapper映射文件-->
<mappers>
<!--直接引入映射文件-->
<!--<mapper resource="cn/fpl1116/mapper/UserMapper.xml"></mapper>-->
<!--按mapper接口的名称引入映射文件,要求 mapper 接口名称和 mapper 映射文件名称相同-->
<!--<mapper class="cn.fpl1116.mapper.UserMapper"></mapper>-->
<!--批量按mapper接口的名称引入映射文件-->
<package name="cn.fpl1116.mapper"/>
</mappers>
</configuration>
文章来源:https://blog.csdn.net/qq_62124267/article/details/135111721
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!