javaType字符数组与jdbcType字符串转换(mybatis)
来源:互联网 发布:白光触摸屏 编程软件 编辑:程序博客网 时间:2024/06/10 09:06
1.TypeHandler
写一个类来实现该mybatis中自定义转换器
/**
* javaType与jdbcType类型的转换器
* @author jiandandia
*
*/
@MappedTypes({String[].class})
@MappedJdbcTypes({JdbcType.VARCHAR})
public class StringArrayTypeHandler implements TypeHandler<String[]> {
public String[] getResult(ResultSet rs, String columnName)
throws SQLException {
String columnValue = rs.getString(columnName);
return this.getStringArray(columnValue);
}
public String[] getResult(ResultSet rs, int columnIndex)
throws SQLException {
String columnValue = rs.getString(columnIndex);
return this.getStringArray(columnValue);
}
public String[] getResult(CallableStatement cs, int columnIndex)
throws SQLException {
String columnValue = cs.getString(columnIndex);
return this.getStringArray(columnValue);
}
public void setParameter(PreparedStatement ps, int i, String[] parameter,
JdbcType jdbcType) throws SQLException {
if (parameter == null)
ps.setNull(i, Types.VARCHAR);
else {
StringBuffer result = new StringBuffer();
for (String value : parameter)
result.append(value).append(",");
result.deleteCharAt(result.length()-1);
ps.setString(i, result.toString());
}
}
private String[] getStringArray(String columnValue) {
if (columnValue == null)
return null;
return columnValue.split(",");
}
}
2.mybatsi配置文件
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration
PUBLIC "-//ibatis.apache.org//DTD Config 3.0//EN"
"http://ibatis.apache.org/dtd/ibatis-3-config.dtd">
<configuration>
<typeAliases>
<package name="org.dtt.handler"/>
</typeAliases>
<!-- TypeHandler注册 -->
<typeHandlers>
<typeHandler handler="org.dtt.handler.StringArrayTypeHandler"/>
</typeHandlers>
<!-- 连接数据库配置信息 -->
<environments default="environment">
<environment id="environment">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver"
value="oracle.jdbc.driver.OracleDriver" />
<property name="url"
value="jdbc:oracle:thin:@localhost:8080:ORCL"/>
<property name="username" value="root" />
<property name="password" value="" />
</dataSource>
</environment>
</environments>
<!-- sql映射文件 -->
<mappers>
<mapper resource="sql/CostMapper.xml" />
</mappers>
</configuration>
3.sql映射文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"
"http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">
<mapper namespace="org.dtt.all.MainBatch">
<insert id="add_log" parameterType="org.dtt.all.MainBatch">
insert into log_record
(code_id,file_code,file_name,
file_text,error,status,create_time)
values
(s_code_id.nextval,#{file_code},#{file_name},#{file_text, javaType=[Ljava.lang.String;, jdbcType=VARCHAR},
#{error},#{status},sysdate)
</insert>
</mapper>
- javaType字符数组与jdbcType字符串转换(mybatis)
- 【Mybatis】 JdbcType 与 JavaType对应关系
- mybatis中javaType与jdbcType对应关系
- mybatis jdbcType 对应javaType
- Mybatis javaType jdbcType
- jdbctype javatype 转换
- jdbcType与javaType
- jdbcType与javaType
- mybatis加jdbctype,jdbctype和javatype区别mybatis插入insert空指针无效字符
- mybatis 中的 jdbcType与javaType的对应关系
- Mybatis中javaType和jdbcType对应
- Mybatis中javaType和jdbcType对应关系
- Mybatis中javaType和jdbcType对应关系
- Mybatis中javaType和jdbcType对应关系
- Mybatis中javaType和jdbcType对应关系
- Mybatis中javaType和jdbcType对应关系
- Mybatis中javaType和jdbcType对应关系
- Mybatis中javaType和jdbcType对应关系
- 贪吃蛇----第一个写出的游戏
- 北航2016集训队选拔赛解题报告
- mysql一些使用技巧
- 语义和语法结构之间的关系
- 关于浏览器的问题
- javaType字符数组与jdbcType字符串转换(mybatis)
- [Leetcode]258. Add Digits
- linux select与poll的区别
- Libgdx之Group
- 从头认识多线程-3.2 使用volatile声明的变量的写操作是非原子性的
- 日常生活
- TrueCrypt 变废为宝-银行U盾
- maven
- Bitset类总结