码迷,mamicode.com
首页 > 其他好文 > 详细

TypeHandler

时间:2017-11-24 15:08:41      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:tis   ble   err   否则   lob   bsp   statement   handlers   jdbc   

配置注册

mybatis.type-handlers-package=com.patsnap.inno.doc.core.handler

 

使用

@MappedJdbcTypes({JdbcType.CLOB})
@MappedTypes({String.class})
public class TextHandler implements TypeHandler<String> {

    private int max = 300;

    @Override
    public void setParameter(PreparedStatement preparedStatement, int i, String s, JdbcType jdbcType) throws SQLException {
        preparedStatement.setString(i,s);
    }

    @Override
    public String getResult(ResultSet rs, String columnName) throws SQLException {
        String text = rs.getString(columnName);
        if (StringUtils.isNotEmpty(text)) {
            return text.substring(0, text.length() > max ? max : text.length());
        } else {
            return "";
        }
    }

    @Override
    public String getResult(ResultSet rs, int columnIndex) throws SQLException {
        String text = rs.getString(columnIndex);
        if (StringUtils.isNotEmpty(text)) {
            return text.substring(0, text.length() > max ? max : text.length());
        } else {
            return "";
        }
    }

    @Override
    public String getResult(CallableStatement cs, int columnIndex) throws SQLException {
        String text = cs.getString(columnIndex);
        if (StringUtils.isNotEmpty(text)) {
            return text.substring(0, text.length() > max ? max : text.length());
        } else {
            return "";
        }
    }
}

<result property="summary" column="summary" typeHandler="com.patsnap.inno.doc.core.handler.TextHandler" jdbcType="CLOB"/>
 

 

注意 如果是集成BaseTypeHandler,那么将会在所有符合条件的字段上起作用。

所以,除非特么全局通用的TypeHandler,否则不要使用BaseTypeHandler.

 

TypeHandler

标签:tis   ble   err   否则   lob   bsp   statement   handlers   jdbc   

原文地址:http://www.cnblogs.com/tonyq/p/7890376.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!