mybatis内置了两个枚举类型处理器,EnumTypeHandler和EnumOrdinalTypeHandler,这两个类型都不好用,一般也是我们自己实现枚举的类型处理器。 EnumTypeHandler存入数据库的是枚举的name,EnumOrdinalTypeHandler存入数据库的是枚举的位置。例如下方的枚举,当我们有一个枚举值是EStatus.init时,这时我们使用mybatis的EnumTypeHandler存...
自定义Mybatis的类型转换器类,继承BaseTypeHandler,里面有几个需要实现的方法 void setNonNullParameter(PreparedStatement ps, int i, T parameter, JdbcType jdbcType)用于定义设置参数时把Java类型的参数转换为对应的数据库类型 T getNullableResult(ResultSet rs, String columnName)用于定义通过字段名称获取字段数据时把...
状态码,直接赋值给对象,存入数据库 从数据中,查询状态码,利用自定义的类型处理器,得到对应的枚举类=》进而得到到的枚举类,状态对应的含义(如emp.getEmpsStatus().getMsg(),代码中有详细含义) (1)实体类和枚举类 Employee.java: public class Employee { private Integer id; private String lastName; private ...
自定义Mybatis的类型转换器类,继承BaseTypeHandler,里面有几个需要实现的方法 void setNonNullParameter(PreparedStatement ps, int i, T parameter, JdbcType jdbcType)用于定义设置参数时把Java类型的参数转换为对应的数据库类型 T getNullableResult(ResultSet rs, String columnName)用于定义通过字段名称获取字段数据时把...
所以我们的需求就是,拒绝硬编码,使用友好的编码方式来校验enabled字段的值是否有效。 2. 使用MyBatis提供的枚举类型处理器 我们通常会使用枚举来解决这种场景。 首先新建com.zwwhnly.mybatisaction.type包,然后在该包下新建枚举Enabled: package com.zwwhnly.mybatisaction.type; ...
mybatis扩展之类型处理器(枚举类型处理) Employee.java(省略getter和setter方法) privateInteger id;privateString lastName;privateString gender;privateString email;privateEmpStatus empStatus=EmpStatus.LOGOUT; private Department dept; EmpStatus.java packagecom.gong.mybatis.bean;publicenumEmpStatus {...
此时我们再次执行添加操作,发现可以成功添加数据,而枚举类型的值也作为数据被插入到数据库中 字段类型处理器 为什么需要字段类型处理器 在某些场景下,我们在实体类中是使用Map集合作为属性接收前端传递过来的数据的,但是这些数据存储在数据库时,我们使用的是json格式的数据进行存储,json本质是一个字符串,就是varchar类型...
深入了解MyBatis-Plus中的枚举处理器及实例演示 介绍: 在开发中,数据库表中的字段很常见会使用枚举类型来表示一些固定的取值范围。为了方便在MyBatis-Plus中处理这些枚举类型的映射,MyBatis-Plus提供了专门的枚举处理器。本文将详细讲解MyBatis-Plus中的枚举处理器的用法,并结合一个具体案例进行演示和说明。
简介:mybatisPlus之通用枚举及字段类型处理器 通用枚举 为什么需要枚举类 类的对象只有有限个,确定的。举例如下: 星期:Monday(星期一)、...、Sunday(星期天) 性别:Man(男)、Woman(女) 季节:Spring(春节)...Winter(冬天) 支付方式:Cash(现金)、WeChatPay(微信)、Alipay(支付宝)、BankCard(银行卡)、CreditCard...
对于这样的码表字段,一般会定义一个枚举类,做业务判断的时候直接基于枚举类进行比较。但是该字段在数据库采用的是int类型,对应的实体类中是Integer类型,因此业务操作时必须手动把枚举类与Integer进行转换,相对麻烦。 为此,MybatisPlus提供了一个处理枚举类的类型转换器,可以对枚举类型与数据库类型进行自动转换。