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 使用枚举或其他对象的更多相关文章

  1. MyBatis从入门到精通(第6章):6.3 使用枚举或其他对象

    6.3 使用枚举或其他对象 在 sys_role 表中存在一个字段 enabled,这个字段只有两个可选值,0 为禁用,1 为启用.但是在 SysRole 类中,我们使用的是 Integer enab ...

  2. 解决mybatis使用枚举的转换

    解决mybatis使用枚举的转换 >>>>>>>>>>>>>>>>>>>>> ...

  3. mybatis的两个核心对象SqlSessionFactory和SqlSession对象

    mybatis的两个核心对象SqlSessionFactory和SqlSession对象 参见:https://www.cnblogs.com/wxdestiny/p/9743686.html

  4. Win64 驱动内核编程-33.枚举与删除对象回调

    转载:http://www.voidcn.com/article/p-wulgeluy-bao.html 枚举与删除对象回调 对象回调存储在对应对象结构体里,简单来说,就是存储在 ObjectType ...

  5. Java 基础 enum枚举类 的创建/使用/接口继承 ,以及手动创建枚举类的对象为:public static final

    笔记: import java.lang.*; /**一:枚举类 : enum Season implements info { s1(),s2(),s3(),s4() }; //s1--s4 放在S ...

  6. MyBatis的2个核心对象:SqlSessionFactory、SqlSession

    SqlSessionFactory SqlSessionFactory是单个数据库映射关系经过编译后的内存镜像,主要作用是创建SqlSession. InputStream inputStream = ...

  7. mybatis 处理枚举类型

    MyBatis支持持久化enum类型属性.假设t_user表中有一列gender(性别)类型为 varchar2(10),存储 MALE 或者 FEMALE 两种值.并且,User对象有一个enum类 ...

  8. [Effective JavaScript 笔记]第48条:避免在枚举期间修改对象

    注册列表示例 一个社交网络有一组成员,每个成员有一个存储其朋友信息的注册列表. function Member(name){ this.name=name; this.friends=[]; } va ...

  9. Mybatis的基本要素--核心对象

    大家好啊,今天呢来说下Mybatis的核心对象,也就是说基本三要素. >核心接口和类. >Mybatis核心配置文件(mybatis-config.xml) >SQL映射文件 一.下 ...

随机推荐

  1. SQL Server 游标运用:查看所有数据库所有表大小信息(Sizes of All Tables in All Database)

    原文:SQL Server 游标运用:查看所有数据库所有表大小信息(Sizes of All Tables in All Database) 一.本文所涉及的内容(Contents) 本文所涉及的内容 ...

  2. 解决iconv函数无法转换某些中文的问题

    原文: 解决iconv函数无法转换某些中文的问题 请先看以下代码,这个页面是GB2312编码的: $str = '陶喆';echo 'gb2312-'.$str;echo '<br />' ...

  3. webform的图片防盗链

    最近用到域的问题,不是同一主机的请求将不允许请求此页面. 这其实和图片防盗链的本质是一样的. 通过两个属性:由于当时用的aspx视图引擎,所以需要通过HttpContext.Current才能拿到ht ...

  4. Bigtable:结构化数据的分布式存储系统

    Bigtable最初是谷歌设计用来存储大规模结构化数据的分布式系统,其可以在数以千计的商用服务器上存储高达PB级别的数据量.开源社区根据Bigtable的设计思路开发了HBase.其优势在于提供了高效 ...

  5. QT5 屏幕旋转90度

    主要思路是将所有项目界面加载到QGraphicsScene,再进行旋转操作.直接上代码#include <QApplication>#include <QGraphicsView&g ...

  6. Qt学习虚拟机--基于MSYS2-MinGW环境并带有各种开源的软件库!

    Qt学习虚拟机--基于MSYS2-MinGW环境并带有各种开源的软件库!虚拟机地址,VM10和以上:http://pan.baidu.com/s/1slcTA49包含两个分卷压缩包,加起来5GB多. ...

  7. 层次关系表格,不用递归,快速检索。HierarchyId

    最近这几天写了个T4自动实现EF code first和Ado的存储过程.使用过程中发现了一个Sql的类型为HierarchyId.看到时真是百思不得齐姐.算了查一下MSDN吧.从微软官网找到了Hie ...

  8. 【Linux】Linux下跟踪记录每个用户对主机服务器进行的操作

    linux中跟踪每个用户对主机的操作,看有人之前已经写过如此shell,可直接参考,参考如下: 1.记录操作信息 这个脚本需添加至/etc/profile 脚本如下: history USER_IP= ...

  9. python算法与数据结构-循环链表(39)

    一.循环链表的介绍 上一篇我们已经讲过单链表,本篇给大家讲解循单链表的一个变形是单向循环链表,链表中最后一个节点的next域不再为None,而是指向链表的头节点,其基本操作和单链表思路一样. 常用的操 ...

  10. 重定向Redirect 的知识

    今天下班的时候看到了一些重定向的基础知识,也算开了眼界.以前也经常使用301和302,但从来没有使用过和了解过其他的3XX的状态码,发现原来里面涉及的知识和解决的问题的还不少. 重定向的流程 浏览器首 ...