`
iluoxuan
  • 浏览: 582327 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用iBatis的类型处理器TypeHandlerCallback

    博客分类:
  • java
 
阅读更多

1:ibaits中 用TypeHandlerCallback处理自定义类型:

 

转载:http://wangym.iteye.com/blog/1439520

 

下面看下list处理过程:

 

public class ListTypeHandler implements TypeHandlerCallback {

    public Object getResult(ResultGetter getter) throws SQLException {
        if(getter.getObject() == null) {
            return null;
        }
        return convertDBToValue(getter.getString());
    }

    public Object valueOf(String s) {
        return convertDBToValue(s);
    }
    
    //将POJO中的值转换数据库值存储
    private String saveValueToDB(List<Long> ids) {
        StringBuffer sb=new StringBuffer();
        for(Long id: ids) {
            sb.append(id).append(",");
        }
        return sb.length() > 0 ? sb.substring(0, sb.length() - 1).toString() : "";
    }
    
   //将数据库的值转换为POJO所需要的值 
    private List<Long> convertDBToValue(String value) {
        String[] strs=value.split(",");
        List<Long> ids=new ArrayList<Long>();
        for(String str: strs) {
            if(str != null && str.trim().length() > 0) {
                ids.add(Long.parseLong(str));
            }
        }
        return ids;
    }

    @SuppressWarnings("unchecked")
    public void setParameter(ParameterSetter setter, Object obj) throws SQLException {
        setter.setString(saveValueToDB((List<Long>)obj));
    }
}
 
分享到:
评论

相关推荐

    .net中使用iBATIS的小例子

    下面我们将详细探讨iBATIS在.NET中的使用方法,以及如何利用提供的文件进行实践。 首先,了解iBATIS的基本概念。iBATIS是一个轻量级框架,它的核心功能是动态SQL映射,允许开发者编写SQL语句并将其封装到XML配置...

    ibatis的使用教程

    要开始使用 Ibatis,首先需要从官方网站下载最新版本的 ibatis jar 包,以及 log4j 日志框架的 jar 包。然后,在Java项目中添加这些库,配置log4j.properties以开启SQL日志输出。接着,新建主配置文件sqlMapConfig....

    ibatis简易使用 ibatis简易使用 ibatis简易使用

    以下是对iBATIS简易使用的详细解释: 1. **环境准备**: - **jar文件**:iBATIS框架运行需要依赖一些库文件,包括`log4j`用于日志记录,`ibatis`核心库,以及`jdbc`驱动,这些都需要添加到项目的类路径中。 - **...

    ibatis类型

    标题 "ibatis类型" 暗示我们讨论的是关于iBATIS这个持久层框架的一些特定类型或组件。iBATIS是Java开发中的一个流行数据库访问框架,它允许开发者将SQL语句直接集成到XML配置文件中,实现了SQL与Java代码的分离,...

    ibatis 相关使用文档及安装包ibatis 相关使用文档及安装包

    这个压缩包包含了iBATIS的相关使用文档和安装包,是学习和使用iBATIS的重要参考资料。 《iBATIS-SqlMaps-2.pdf》可能是关于iBATIS SQL映射器的详细指南,它会介绍如何编写SQL Map配置文件,这些文件定义了数据库...

    ibatis 支持枚举类型

    Ibatis对枚举类型的原生支持可能不如实体类那样直观,但通过一些策略,我们可以实现枚举与数据库字段之间的映射。以下将详细解释如何在Ibatis中处理枚举类型。 首先,我们需要定义枚举类。枚举类通常包含若干枚举...

    ibatis教程 输入参数详解

    以及ibatis的概述、如何开始使用ibatis、构建SqlSessionFactory的方法(包括通过XML和不使用XML的方式)、获取SqlSession的过程、探索映射SQL语句的方法、命名空间的注意事项、作用域与生命周期的解释、mapper配置...

    ibatis demo,ibatis例子,ibatis示例

    Ibatis提供了多种方式来实现映射,如自动类型匹配、自定义类型处理器、复杂关联映射等。 7. **缓存机制**:Ibatis内置了本地缓存和二级缓存,可以提高数据读取速度。本地缓存作用于单个SqlSession,而二级缓存则...

    iBatis详细使用手册(.net版)[收集].pdf

    用户可以使用ResultMap来定义结果映射关系,以便将数据库查询结果映射到强类型数据对象中。 7.iBatis的应用场景 iBatis可以应用于各种数据访问场景,包括Web应用程序、桌面应用程序、移动应用程序等。它提供了一种...

    iBatis Web用法实例

    在这个"iBatis Web用法实例"中,我们将深入探讨如何在Web项目中集成并使用iBatis,以及相关的最佳实践。 1. **iBatis 概述**: iBatis 作为轻量级的ORM(对象关系映射)框架,它的核心思想是将SQL与Java代码分离,...

    使用ibatis写的小项目

    **使用iBatis进行数据库操作的核心概念** iBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。iBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。iBatis可以被看作是一个半自动化 ...

    ibatis 使用手册

    《iBatis 使用手册》是一份详尽的开发资源,涵盖了iBatis框架的各个方面,包括iBatis的开发指南、SQL Maps的使用以及入门教程。iBatis是一款优秀的持久层框架,它允许Java开发者将SQL语句与Java代码分离,实现数据...

    使用ibatis操作两个有关系的表

    本案例将聚焦于如何使用Ibatis操作两个有关系的表。 Ibatis的核心思想是将SQL语句写在XML配置文件中,通过映射关系将Java对象与数据库中的记录对应起来。在处理两个有关系的表时,Ibatis提供了多种策略,如一对一、...

    ibatis3资料-介绍

    5. **类型处理器扩展**:iBATIS3允许开发者自定义类型处理器,用于处理不同类型之间的转换,这为处理非标准数据类型提供了便利。 6. **插件架构**:iBATIS3支持插件架构,开发者可以通过编写插件来扩展框架的功能,...

    ibatis中输入输出各种类型的参数分析及#与$区别

    ### ibatis中输入输出各种类型的参数分析及#与$区别 #### iBatis简介与特点 iBatis作为一款轻量级的Java持久层框架,以其简洁、灵活的特点,在众多框架中占据一席之地。相较于知名的Hibernate框架,iBatis在实现上...

    iBATIS实战

    12.2 使用自定义类型处理器 217 12.2.1 实现自定义类型处理器 217 12.2.2 创建TypeHandlerCallback 218 12.2.3 注册TypeHandlerCallback以供使用 221 12.3 使用CacheController 222 12.3.1 创建CacheController 223 ...

    ibatis api 帮助文档+IBATIS 开发文档

    IBATIS,一个由iBATIS公司开发的开源持久层框架,是Java世界中广泛使用的数据访问接口(DAO)工具。它允许开发者将SQL语句直接写在XML配置文件中,实现了SQL与Java代码的分离,提高了开发效率和数据库移植性。本篇将...

    3、mybatis类型的定义方式

    自定义类型处理器需要实现`org.apache.ibatis.type.TypeHandler`接口,并重写`setNonNullParameter`、`getNullableResult`和`getResultFromCursor`方法。 ```java public class CustomTypeHandler implements ...

    ibatis总结 ibatis ibatis ibatis ibatis

    Ibatis 是一款轻量级的Java持久层框架,它允许开发者将SQL语句与Java代码分离,从而使得数据库访问更加灵活、易于维护。本篇文章将深入探讨Ibatis的核心概念、最佳实践以及与其他框架如Struts和Spring的整合。 1. ...

Global site tag (gtag.js) - Google Analytics