db.proerties 文件配置 别名 类型转换器
前言
mybatis的一些补充 知识,重点关注 类型转换器。
一、
-
proerties 文件配置
mybatis的conf.xml 中的JDBC配置想要实现更灵活的方式进行配置(动态引入),可以在src下新建一个properties文件,
为将该properties文件 引入config.xml,在config文件中需要进行配置用以引入properties文件:
<properties resource="db.properties"></properties><properties resource="db.properties"></properties>
在<configuration>标签下新建 <environments default="development"> 的同级标签,如下:
<configuration>
<properties resource="db.properties"></properties>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">...........
将properties 文件的值写入JDBC中的配置,方式为 ${key} 引用 文件的value值。配置如下:
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="${driver}" />
<property name="url"
value="${url}" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />
</dataSource>
</environment>
</environments>.......
即可实现 动态引入properties文件。
-
别名
mapper.xml 文件中相关SQL标签配置中需要引入类时,需要写为 包名.类名 的形式 (resultType="priv.practice.orm.User"),通过使用别名的形式,可以缩短冗长的类名信息。
别名可以单独设置,也可以批量设置。二者都是在config.xml 文件中进行设置。设置方式如下:
位置 在<configuration>标签下新建 <environments default="development"> 的同级标签(位置与properties文件引入位置为同级别),新建<typeAliases>标签,在内部写入
<typeAlias type="要引入的全类名" alias="自定义的别名"/> ,具体信息如下:
........
<configuration>
<properties resource="db.properties"></properties>
<!-- 设置 单个/多个 别名 -->
<typeAliases>
<!-- 单个别名 --><typeAlias type="priv.practice.orm.User" alias="User"/>
</typeAliases>
<environments default="development">.........
mapper文件中的应用:
<select id="selectAllUsers" resultType="priv.practice.orm.User">
------------------
<select id="selectAllUsers" resultType="User">
由 "priv.practice.orm.User" 改为 "User" 后可以正常使用。
<typeAliases> 标签中的单个标签设置别名可以设置多个子标签从而实现配置多个别名,为方便配置,通过在 <typeAliases> 中定义 <package name="priv.practice.orm"/> 在该包中的所有类的类名就是自己的别名。既: 别名 就是 不带包名的类名。
<typeAliases>
<!-- 单个别名<typeAlias type="priv.practice.orm.User" alias="User"/>
-->
<!-- 定义多个别名 -->
<package name="priv.practice.orm"/>
</typeAliases>
自定义别名忽略大小写,除了自定义的别名外,mybatis还有一些内置的别名。
二、类型转换器&resultMap(重点)
1.类型转换器
mybatis自带一些常见的类型处理器,实现Java类型与数据库的字段类型进行转换(string-char)
自定义类型转换器(Java类型 <----> JDBC类型转换).
2.读入数据
代码如下(示例):
总结
提示:这里对文章进行总结: