1、Mybatis主配置文件的内容和顺序
-properties (属性)
--property
-settings(全局配置参数)
--setting
-typeAliases (类型别名)
--typeAliase
--package
-typeHandlers(类型处理器)
-objectFactory(对象工厂)
-plugins(插件)
-environments(环境集合属性对象)
-environment(环境子属性对象)
-transactionManager(事务管理)
-dataSource(数据源)
-mappers (映射器)
-mapper
-package
2、properties(属性)
以配置数据库为例,在使用 properties 标签配置时,我们可以采用以下两种方式指定属性配置。
2.1、第一种
1、首先在配置dataSource标签之前定义properties标签
<properties>
<property name="jdbc.driver" value="com.mysql.jdbc.Driver"/>
<property name="jdbc.url" value="jdbc:mysql://localhost:3306/xxx"/>
<property name="jdbc.username" value="root"/>
<property name="jdbc.password" value="root"/>
</properties>
2、如下图所示,在Mybatis主配置文件里面使用由properties标签定义的配置值
2.2、第二种
1、首先在 classpath 下定义 db.properties 文件
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/xxx
jdbc.username=root
jdbc.password=root
2、
<!-- 配置连接数据库的信息
resource 属性:用于指定 properties 配置文件的位置,要求配置文件必须在类路径下
resource="jdbcConfig.properties"
url 属性:
URL: Uniform Resource Locator 统一资源定位符
网络协议URL1:http://localhost:8080/mystroe/CategoryServlet
协议 主机 端口 URI
file协议URL2:file:///D:/xxx/src/main/resources/jdbcConfig.proper
URI:Uniform Resource Identifier 统一资源标识符
/mystroe/CategoryServlet
它是可以在 web 应用中唯一定位一个资源的路径
-->
<properties url=file:///D:/xxx/src/main/resources/jdbcConfig.proper
ties">
</properties>
3、在Mybatis主配置文件里面使用由properties标签引入的db.properties文件内的配置值
3、typeAliases(使用类型别名后,不用再写全限定类名)
Mybatis 支持默认别名的开发方式,我们也可以采用自定义别名方式来开发。
3.1、自定义别名
<!-- 在 SqlMapConfig.xml 中配置:-->
<typeAliases>
<!-- 单个别名定义 -->
<typeAlias alias="user" type="per.cjh.domain.User"/>
<!-- 批量别名定义,扫描整个包下的类,别名为类名(首字母大写或小写都可以) -->
<!-- 常用 -->
<package name="per.cjh.domain"/>
<package name=" 其它包 "/>
</typeAliases>
4、mappers (映射器)
4.1、resource=“per/cjh/dao/IUserDao.xml” ( 映射某个类的xml配置文件)
<mapper resource=""/>
使用相对于类路径的资源
如:<mapper resource=“per/cjh/dao/IUserDao.xml” / >
4.2、class=“per.cjh.dao.UserDao” ( 映射某个类)
<mapper class=" " />
使用 mapper 接口类路径
如:<mapper class=“per.cjh.dao.UserDao”/ >
注意:此种方法要求 mapper 接口名称和 mapper 映射文件名称相同,且放在同一个目录中。
4.3、name=“per.cjh.mybatis.mapper”(常用:映射某个包下的所有类)
<package name="" />
注册指定包下的所有 mapper 接口
如:<package name=“per.cjh.mybatis.mapper”/ >
注意:此种方法要求 mapper 接口名称和 mapper 映射文件名称相同,且放在同一个目录中。