首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

iBATIS的自定义门类处理器TypeHandlerCallback

2012-11-11 
iBATIS的自定义类型处理器TypeHandlerCallback?iBATIS提供TypeHandlerCallback来提供对用户自定义类型的处

iBATIS的自定义类型处理器TypeHandlerCallback

?iBATIS提供TypeHandlerCallback来提供对用户自定义类型的处理。

??

3.TypeHandlerCallback实现类?

?4.注册TypehandlerCallback

? 可以在多个配置文件中进行注册:

? 1).sqlMapConfig.xml。全局配置注册.

? 2)单独的parameterMap或resultMap中注册。

? 本例主要演示在parameterMap中进行注册

?5.运行结果

?? 可以发现,原本在数据库中存储中gender列内容为female,male和null,但是经过自定义类型转换后相应变成了男或女。

? 6.遇到的问题

??? 上述内容经过我测试没有任何问题,不过我在看到相关资料时却出现了一个问题:

?? 在TypeHandlerCallback方法中,存在一个valueOf()方法,其主要作用是当数据库中列可以为空(null)时进行处理。相应地,你需要在注册时在result的nullValue中填写为空时的默认值,如上面的nullValue="male"。

? 此外,还需要特别注意的一点就是:即使你在注册时填写了nullValue='male',仍然会出现NUllpointer异常,并且跟踪发现valueOf方法没有被调用,解决方法是在getResult方法中添加 if (getter.getObject() == null) { return null; }

?即需要你手动判断一次是否为null,当其结果返回null时才有会调用valueOf方法载入所设置的nullValue的值。

?

?

?

?

?



热点排行