Mybatis
1. MyBatis配置文件
1.1 mybatis-config.xml 中配置的内容和顺序
-properties(属性)
--property
-settings(全局配置参数)
--setting
-typeAliases(类型别名)
--typeAliase
--package
-typeHandlers(类型处理器)
-objectFactory(对象工厂)
-plugins(插件)
-environments(环境集合属性对象)
--environment(环境子属性对象)
---transactionManager(事务管理)
---dataSource(数据源)
-mappers(映射器)
--mapper
--package
1.2 properties(属性)
在使用 properties
标签配置时,可以采用两种方式指定属性配置。
1.2.1 第一种:在mybatis-config.xml文件中直接配置
<!-- 配置环境 -->
<environments default="mysql">
<!-- 配置mysql的环境-->
<environment id="mysql">
<!-- 配置事务的类型-->
<transactionManager type="JDBC"/>
<!-- 配置数据源(连接池) -->
<dataSource type="POOLED">
<!-- 配置连接数据库的4个基本信息 -->
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis_db?serverTimezone=UTC"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
1.2.2 第二种:在 classpath 下定义 db.properties 文件
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis_db?serverTimezone=UTC
jdbc.username=root
jdbc.password=root
properties 标签配置:
<!-- 配置连接数据库的信息
resource 属性:用于指定 properties 配置文件的位置,要求配置文件必须在类路径下
resource="jdbcConfig.properties"
url 属性:
URL: Uniform Resource Locator 统一资源定位符
http://localhost:8080/mystroe/CategoryServlet URL
协议 主机 端口 URI
URI: Uniform Resource Identifier 统一资源标识符
/mystroe/CategoryServlet
它是可以在 web 应用中唯一定位一个资源的路径
-->
<properties url="file:///E:/Users/IdeaProjects/mybatis_idea/mybatis_day02_curd/src/main/resources/jdbcConfig.properties" />
<!-- <properties resource="jdbcConfig.properties"/> -->
dataSource配置:
<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>
1.3 typeAliases(类型别名)
自定义别名:
<!-- 在 mybatis-config.xml 中配置: -->
<typeAliases>
<!-- 单个别名定义 -->
<typeAlias alias="user" type="com.spg.entity.User"/>
<!-- 批量别名定义,扫描整个包下的类,别名为类名(首字母大写或小写都可以) -->
<package name="com.spg.entity"/>
<package name="其它包"/>
</typeAliases>
1.4 mappers(映射器)
1.4.1 mapper 的 resource 属性
使用相对于类路径的资源
如: <mapper resource="com/spg/dao/UserDao.xml" />
1.4.2 mapper 的 class 属性
使用 mapper 接口类路径
如: <mapper class="com.spg.dao.UserDao"/>
注意:此种方法要求 mapper 接口名称和 mapper 映射文件名称相同,且放在同一个目录中。
1.4.3 package 的 name 属性
注册指定包下的所有 mapper 接口
如: <package name="com.spg.dao"/>
注意:此种方法要求 mapper 接口名称和 mapper 映射文件名称相同,且放在同一个目录中。