MyBatis 使用枚举或其他对象
From《Mybatis从入门到精通》
1.笔记:
<!--
6.3 使用枚举或者其他对象
6.3.1 使用MyBatis提供的枚举处理器
不懂:
因为枚举除了本身的字面值外,还可以通过枚举的ordinal()方法获取枚举值的
索引。在这个枚举类中,disabled对应索引为0,enabled对应的索引为1.
MyBatis在处理Java类型和数据库类型时,使用TypeHandler(类型处理器),对这
两者进行转换。MyBatis为Java和数据库JDBC中的基本类型和常用的类型提供了
TypeHandler接口实现。MyBatis在启动时会加载所有的JDBC对应的类型处理器,这个
处理器会将枚举类型转换为字符串类型的字面值并使用。对于Enabled而言,便是disabled和
enabled字符串。
也就是说默认的org.apache.ibatis.type.EnumTypeHandler,这个处理器只对枚举
的字面值进行处理,也就是数据库中需要存放着字符串,这样才能够转化成相应的枚举类型
所以不适合当前的情况。MyBatis还提供了org.apache.ibatis.type.EnumOrdinalTypeHandler
处理器,这个处理器使用枚举的索引值进行出来,可以解决此处遇到的问题。要使用
这个处理器,需要在mybatis-config.xml中进行配置:
<typeHandlers>
<typeHanderl
javaType="tk.mybatis.simple.type.Enabled"
hadler="org.apache.ibatis.type.EnumOrdinalTypeHandler"/>
</typeHandlers>
-->
2.增加的枚举类型:
package tk.mybatis.simple.type;
public enum Enabled {
disabled,//禁用
enabled; //启用
}
3.对MyBatis配置文件的配置
<typeHandlers> <typeHanderl javaType="tk.mybatis.simple.type.Enabled" hadler="org.apache.ibatis.type.EnumOrdinalTypeHandler"/> </typeHandlers>
1.笔记:
<!--
6.3.2 使用过自定义的类型处理器
——Java枚举类型,我感觉我还是需要看一下,
里面有很多东西,一下子理解不了
——标记一下,这部分我没有细细的研究。
-->
MyBatis 使用枚举或其他对象的更多相关文章
- MyBatis从入门到精通(第6章):6.3 使用枚举或其他对象
6.3 使用枚举或其他对象 在 sys_role 表中存在一个字段 enabled,这个字段只有两个可选值,0 为禁用,1 为启用.但是在 SysRole 类中,我们使用的是 Integer enab ...
- 解决mybatis使用枚举的转换
解决mybatis使用枚举的转换 >>>>>>>>>>>>>>>>>>>>> ...
- mybatis的两个核心对象SqlSessionFactory和SqlSession对象
mybatis的两个核心对象SqlSessionFactory和SqlSession对象 参见:https://www.cnblogs.com/wxdestiny/p/9743686.html
- Win64 驱动内核编程-33.枚举与删除对象回调
转载:http://www.voidcn.com/article/p-wulgeluy-bao.html 枚举与删除对象回调 对象回调存储在对应对象结构体里,简单来说,就是存储在 ObjectType ...
- Java 基础 enum枚举类 的创建/使用/接口继承 ,以及手动创建枚举类的对象为:public static final
笔记: import java.lang.*; /**一:枚举类 : enum Season implements info { s1(),s2(),s3(),s4() }; //s1--s4 放在S ...
- MyBatis的2个核心对象:SqlSessionFactory、SqlSession
SqlSessionFactory SqlSessionFactory是单个数据库映射关系经过编译后的内存镜像,主要作用是创建SqlSession. InputStream inputStream = ...
- mybatis 处理枚举类型
MyBatis支持持久化enum类型属性.假设t_user表中有一列gender(性别)类型为 varchar2(10),存储 MALE 或者 FEMALE 两种值.并且,User对象有一个enum类 ...
- [Effective JavaScript 笔记]第48条:避免在枚举期间修改对象
注册列表示例 一个社交网络有一组成员,每个成员有一个存储其朋友信息的注册列表. function Member(name){ this.name=name; this.friends=[]; } va ...
- Mybatis的基本要素--核心对象
大家好啊,今天呢来说下Mybatis的核心对象,也就是说基本三要素. >核心接口和类. >Mybatis核心配置文件(mybatis-config.xml) >SQL映射文件 一.下 ...
随机推荐
- textblock的LineHeight的调整
原文:textblock的LineHeight的调整 <TextBlock Width="113.594" Height="73.667" Text=&q ...
- Win10《芒果TV》更新v3.8.30流星版:优化稳定性、升级无边框播放体验
随着暑假到来,大波王牌综艺和青春电视剧热浪来袭,Win10版<芒果TV>全平台同步更新流星版v3.8.30,进一步提升稳定性,巩固播放体验,升级剧场模式和画中画无边框体验,我们在芒果等你. ...
- 用VS2010构建MASM的编程环境,开始使用MASM(翻译自《Inetl汇编语言程序设计》一书的作者Kip R. Irvine的文章Getting Started with MASM),两种方法搭建IA-32汇编设计环境
http://blog.csdn.net/jinsonghu/article/details/5688020 http://blog.csdn.net/jinsonghu/article/detail ...
- mencache的使用二
在这里说的是在C#中的使用,在C#中使用是需要引入驱动的, 可以在网上找,这里推荐一个链接http://sourceforge.net/projects/memcacheddotnet/ 将Memca ...
- 浅谈网络I/O多路复用模型 select & poll & epoll
http://blog.csdn.net/nk_test/article/details/50662946
- BoxedApp Packer 将您的原始应用“打包”成单个完全的可执行二进制文件
及时应对移动化趋势 在没有安装到本地硬盘驱动的情况下,使用闪存卡.网络文件夹或者可移动磁盘远程启动应用程序通常是一件令人头疼的事,你会发现,应用程序会突然会丢失文件.路径错误或者远程注册表故障等一系列 ...
- QT 线程池 + TCP 小试(三)实现最终功能
*免分资源链接点击打开链接http://download.csdn.net/detail/goldenhawking/4492378 有了TCP.线程池,我们就可以把他们连接起来.使用最简单的 QMa ...
- SharePoint Add-in Model (App Model) 介绍 – 概念、托管方式、开发语言
SharePoint Add-in Model 是自 2013 版本以来引入的新的扩展性开发模型, SharePoint 开发者可以利用这种新模型来实现往常利用场解决方案 (Farm Solution ...
- Hadoop 3、Hadoop 分布式存储系统 HDFS(好多彩色图)
HDFS是Hadoop Distribute File System 的简称,也就是Hadoop的一个分布式文件系统. 一.HDFS的优缺点 1.HDFS优点: a.高容错性 .数据保存多个副本 .数 ...
- 三个臭皮匠,顶上一个诸葛亮——在Google Ideathon上Design Thinking分享
4月26日很荣幸的被邀请参加Google Ideathon做Design Thinking的分享. 这次主要分享了Design Thinking的基本方法流程,以及在真实项目的运用.现在整理一下当时选 ...