我是靠谱客的博主 繁荣糖豆,最近开发中收集的这篇文章主要介绍mybatis——属性文件、全局参数、别名、类型转换器、resultMap(二)一.属性文件 配置数据库连接二 全局参数三 别名(使用别名后可以进行相关名字的替换)四 类型转换器,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
config.xml中的配置文件需要 按照顺序 不然就会报错
properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,reflectorFactory?,plugins?,environments?,databaseIdProvider?,mappers?
一.属性文件 配置数据库连接
1 . 创建 db.properties 文件
填写数据库连接信息
driver=com.mysql.cj.jdbc.Driver url=jdbc:mysql://localhost:3306/ssm?serverTimezone=GMT%2B8 username=root password=root
2 . 导入
<properties resource="db.properties" />
3 . 配置数据库信息
<dataSource type="POOLED"> <property name="driver" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${username}"/> <property name="password" value="${password}"/> </dataSource>
二 全局参数
<settings> <setting name="" value=""/> </settings>
三 别名(使用别名后可以进行相关名字的替换)
<typeAliases> <!--单个设置别名--> <typeAlias type="com.xiaonuo.domain.Person" alias="Person"></typeAlias> <!--批量设置别名 别名就是不带前缀包名的类本来名字 忽略大小写--> <package name="com.xiaonuo.domain"></package> </typeAliases>
四 类型转换器
本身有自带的类型转换器
这边记录下自定义的类型转换器
* 可以实现TypeHandler接口 * 或者选择继承实现他的BaseTypeHandler实现类
代码部分 把Boolean 转换成 varchar
public class BooleanAndCharTypeHandler extends BaseTypeHandler<Boolean> { /*从Java(Boolean) -> JB(int)*/ //true代表男 @Override public void setNonNullParameter(PreparedStatement preparedStatement, int i, Boolean aBoolean, JdbcType jdbcType) throws SQLException { if(aBoolean){ preparedStatement.setString(i,"男"); } else{ preparedStatement.setString(i,"女"); } } //根据列名拿 @Override public Boolean getNullableResult(ResultSet resultSet, String s) throws SQLException { return resultSet.getString(s).equals("男") ? true : false ; } //根据下标拿 @Override public Boolean getNullableResult(ResultSet resultSet, int i) throws SQLException { return resultSet.getString(i).equals("男") ? true : false ; } //存储过程拿 @Override public Boolean getNullableResult(CallableStatement callableStatement, int i) throws SQLException { return callableStatement.getString(i).equals("男") ? true : false ; } }
config.xml 添加自定义转换器
<!--自定义的类型转换器--> <typeHandlers> <!--单个转换--> <typeHandler handler="com.xiaonuo.typeHandler.BooleanAndCharTypeHandler" javaType="Boolean" jdbcType="VARCHAR" /> </typeHandlers>
映射文件中添加
<!--如果数据库类型和类类型中能够精确识别 那么就使用 resultType 否则使用 resultMap--> <!--如果数据库名字和类名字中能够精确识别 那么就使用 resultType 否则使用 resultMap-->
查询
<select id="selectAll" resultMap="selectIdMaper"> select * from person </select> <resultMap id="selectIdMaper" type="Person"> <id property="id" column="id"></id> <result property="name" column="name"></result> <result property="sex" column="sex" javaType="Boolean" jdbcType="VARCHAR"></result> </resultMap>
插入
<insert id="insertStudent" parameterType="Person" keyProperty="id" useGeneratedKeys="true"> insert into person values(#{id},#{name},#{sex,javaType=boolean , jdbcType = VARCHAR}) </insert>
最后
以上就是繁荣糖豆为你收集整理的mybatis——属性文件、全局参数、别名、类型转换器、resultMap(二)一.属性文件 配置数据库连接二 全局参数三 别名(使用别名后可以进行相关名字的替换)四 类型转换器的全部内容,希望文章能够帮你解决mybatis——属性文件、全局参数、别名、类型转换器、resultMap(二)一.属性文件 配置数据库连接二 全局参数三 别名(使用别名后可以进行相关名字的替换)四 类型转换器所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复