在mybatis 中批量加载mapper.xml

时间:2021-02-24 00:34:01

可以直接加载一个包文件名,将这个包里的所有*mapper.xml文件加载进来。

指定mapper接口的包名,mybatis自动扫描包下边所有mapper接口进行加载;

必须按一定的标准:即xml文件和java文件的名字必须一样,且在同一个目录(包)内,如:userMapper.xml和userMapper.java两个文件在一个目录,且文件名相同;

在sqlMapConfig.xml文件中,加载的样例如下:

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE configuration
 3 PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
 4 "http://mybatis.org/dtd/mybatis-3-config.dtd">
 5 <configuration>
 6 
 7     <!-- 加载属性文件 -->
 8     <properties resource="db.properties">
 9         <!--properties中还可以配置一些属性名和属性值  -->
10         <!-- <property name="jdbc.driver" value=""/> -->
11     </properties>
12     <!-- 全局配置参数,需要时再设置 -->
13     <!-- <settings>
14     
15     </settings> -->
16     
17     <!-- 别名定义 -->
18     <typeAliases>
19         
20         <!-- 针对单个别名定义
21         type:类型的路径
22         alias:别名
23          -->
24         <!-- <typeAlias type="cn.itcast.mybatis.po.User" alias="user"/> -->
25         <!-- 批量别名定义 
26         指定包名,mybatis自动扫描包中的po类,自动定义别名,别名就是类名(首字母大写或小写都可以)
27         -->
28         <package name="cn.itcast.mybatis.po"/>
29         
30     </typeAliases>
31     
32     <!-- 和spring整合后 environments配置将废除-->
33     <environments default="development">
34         <environment id="development">
35         <!-- 使用jdbc事务管理,事务控制由mybatis-->
36             <transactionManager type="JDBC" />
37         <!-- 数据库连接池,由mybatis管理-->
38             <dataSource type="POOLED">
39                 <property name="driver" value="${jdbc.driver}" />
40                 <property name="url" value="${jdbc.url}" />
41                 <property name="username" value="${jdbc.username}" />
42                 <property name="password" value="${jdbc.password}" />
43             </dataSource>
44         </environment>
45     </environments>
46     <!-- 加载 映射文件 -->
47     <mappers>
48         <mapper resource="sqlmap/User.xml"/>
49         
50         <!--通过resource方法一次加载一个映射文件 -->
51         <!-- <mapper resource="mapper/UserMapper.xml"/> -->
52         
53         <!-- 通过mapper接口加载单个 映射文件
54         遵循一些规范:需要将mapper接口类名和mapper.xml映射文件名称保持一致,且在一个目录 中
55         上边规范的前提是:使用的是mapper代理方法
56          -->
57         <!-- <mapper class="cn.itcast.mybatis.mapper.UserMapper"/> -->
58         
59         <!-- 批量加载mapper
60         指定mapper接口的包名,mybatis自动扫描包下边所有mapper接口进行加载
61         遵循一些规范:需要将mapper接口类名和mapper.xml映射文件名称保持一致,且在一个目录 中
62         上边规范的前提是:使用的是mapper代理方法
63          -->
64         <package name="cn.itcast.mybatis.mapper"/>
65 
66     </mappers>
67     
68 </configuration>