小言_互联网的博客

MyBatis(七)SqlMapConfig.xml配置文件

426人阅读  评论(0)

1. 配置内容

-properties(属性)  
	--property 
-settings(全局配置参数)  
	--setting 
-typeAliases(类型别名)  
	--typeAliase  
	--package 
-typeHandlers(类型处理器) 
-objectFactory(对象工厂) 
-plugins(插件) 
-environments(环境集合属性对象)  
	--environment(环境子属性对象)   
		---transactionManager(事务管理)   
		---dataSource(数据源) 
-mappers(映射器)  
	--mapper  
	--package

2. properties(属性)

在使用properties标签配置时,我们可以采用两种方式指定属性配置。

① 标签内部进行配置

例如,我们可以在properties标签内部配置连接数据库的信息。

<properties>
    <property name="jdbc.driver" value="com.mysql.jdbc.Driver"/>
    <property name="jdbc.url" value="jdbc:mysql://localhost:3306/mybatisdatabase"/>
    <property name="jdbc.username" value="root"/>
    <property name="jdbc.password" value="0000"/>
</properties>

② 引入外部配置文件

或者使用配置文件,
resource属性用来指定配置文件的位置,是按照类路径的写法进行书写,并且必须存在于类路径下面
url属性,

例如:
在resources文件夹下新建文件jbdcConfig.properties,
在SqlMapConfig.xml文件中引用它:

<properties resource="jdbcConfig.properties">
</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>

3. typeAliases(类型别名)

在前面我们讲的 Mybatis 支持的默认别名,我们也可以采用自定义别名方式来开发。

例如IUserDao.xml中某个domain类,使用时是这样的:

我们可以在sqlMapConfig.xml中定义:

<!-- 可以使用typeAliases配置别名,它只能配置domain类中的别名 -->
<typeAliases>
    <!--
    typeAlias用于配置别名,type属性指定的是实体类的全限定类名,alias属性指定别名
        当指定了别名,就不再区分大小写。
     -->
    <typeAlias type="com.veeja.domain.User" alias="user"></typeAlias>
    <!--
    也可以使用批量别名定义,扫描整个包下的类,别名为类名(首字母大写或小写都可以)
    -->
    <package name="com.veeja.domain"/>
</typeAliases>

可以使用typeAliases配置别名,它只能配置domain类中的别名。
typeAlias用于配置别名,type属性指定的是实体类的全限定类名,alias属性指定别名。
当指定了别名,就不再区分大小写。
也可以使用批量别名定义,扫描整个包下的类,别名为类名(首字母大写或小写都可以)。

这样我们在IUserDao.xml中就可以这样使用了:

4. mappers(映射器)

我们看一下mappers映射配置文件通常是怎么写的:

上面使用了resource属性,使用相对于类路径的资源。

我们还可以写成class属性:

这种方法要求 mapper 接口名称和 mapper 映射文件名称相同,且放在同一个目录中。

还可以使用package标签来注册包下的所有的mapper接口:

这种方法也是要求mapper 接口名称和 mapper 映射文件名称相同,且放在同一个目录中。


END.


转载:https://blog.csdn.net/u014565127/article/details/105839222
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场