sqlmapconfig遵循DTD约束,标签出现的顺序如下
1.properties标签
<!-- 加载规则,首先加载标签内部属性,再加载外部文件,名称相同时,会替换相同名称的内容 -->
<properties resource="jdbc.properties"><!--引入外部配置文件-->
<property name="jdbc.username" value="root1"/>
<property name="jdbc.password" value="root"/>
</properties>
jdbc.properties内容:
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis
jdbc.username=root
jdbc.password=root
后续引用如下:(有点像el表达式)
<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>
2.typeAliases标签
<typeAliases>
<!-- 单个别名定义 -->
<typeAlias type="com.itheima.mybatis.pojo.User" alias="user"/>
</typeAliases>
以后用到User这个类(parameterType,resulteType)就可以直接用User代替,而不用写全类名
<typeAliases>
<!-- 别名包扫描器(推荐使用此方式),整个包下的类都被定义别名,别名为类名,不区分大小写-->
<package name="com.itheima.mybatis.pojo"/>
</typeAliases>
3.mappers标签
<mappers>
<!-- 第一种方式,加载 resource-->
<mapper resource="mybatis/user.xml"/>
</mappers>
对应关系如下:
<!-- 第二种方式,class扫描器要求:
1、映射文件与接口同一目录下
2、映射文件名必需与接口文件名称一致
3、基于官方推荐的动态代理模式
-->
<mappers>
<mapper class="com.lin.dao.UserDao"/>
</mappers>
对应关系如下:
<!-- 第三种方式,包扫描器要求(推荐使用此方式扫描了包下所有映射文件):
1、映射文件与接口同一目录下
2、映射文件名必需与接口文件名称一致
3. 基于官方推荐的动态代理模式
-->
<mappers>
<package name="com.lin.dao"/>
</mappers>
对应关系如下: