自定义枚举typeHandler

1.定义枚举类

package com.learn.ssm.chapter4.enumeration;
public enum SexEnum {MALE(1, "男"),FEMALE(0, "女");private int id;private String name;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}SexEnum(int id, String name) {this.id = id;this.name = name;}public static SexEnum getSexById(int id) {for (SexEnum sex : SexEnum.values()) {if (sex.getId() == id) {return sex;}}return null;}
}

2.实现typeHandler类

package com.learn.ssm.chapter4.typehandler;
import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;import org.apache.ibatis.type.JdbcType;
import org.apache.ibatis.type.TypeHandler;import com.learn.ssm.chapter4.enumeration.SexEnum;@MappedTypes(SexEnum.class)
@MappedjdbcTypes(jdbcType.INTEGER)
public class SexEnumTypeHandler implements TypeHandler<SexEnum> {@Overridepublic void setParameter(PreparedStatement ps, int i, SexEnum parameter,JdbcType jdbcType) throws SQLException {ps.setInt(i, parameter.getId());}@Overridepublic SexEnum getResult(ResultSet rs, String columnName)throws SQLException {int id = rs.getInt(columnName);return SexEnum.getSexById(id);}@Overridepublic SexEnum getResult(ResultSet rs, int columnIndex) throws SQLException {int id = rs.getInt(columnIndex);return SexEnum.getSexById(id);}@Overridepublic SexEnum getResult(CallableStatement cs, int columnIndex)throws SQLException {int id = cs.getInt(columnIndex);return SexEnum.getSexById(id);}}

3. 配置

<typeHandlers><!-- <typeHandler jdbcType="VARCHAR" javaType="string" handler="com.learn.ssm.chapter4.typehandler.SexEnumTypeHandler" /> --><package name="com.learn.ssm.chapter4.typehandler" /></typeHandlers>

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/570009.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python 基本数据类型 (二) - 字符串

str.expandtabs([tabsize]): str类型的expandtabs函数&#xff0c;有一个可选参数tabsize&#xff08;制表符大小&#xff09;详细来说&#xff0c;expandtabs的意思就是&#xff0c;将字符串中的制表符\t&#xff0c;全部用空格来替换。至于用多少个空格&#xff0c;需要参考制…

如何预防后台被攻击?Tomcat 的安全配置来啦!

安全是系统架构中最重要的关注点之一&#xff0c;通常情况下&#xff0c;所说的安全涵盖网络安全、数据安全、操作系统安全、服务器安全以及应用系统安全等诸多方面。Tomcat 是一个免费的开放源代码 的Web应用服务器&#xff0c;技术先进、性能稳定。由于它优秀的稳定性以及丰富…

position详解

导读&#xff1a; position的定位类型有&#xff1a;static(默认值)、relative&#xff08;相对定位&#xff09;、absolute&#xff08;绝对定位&#xff09;、fixed&#xff08;固定定位&#xff09;、sticky&#xff08;粘性定位&#xff09;。其中最常用的就是relative和ab…

原型设计列表

PencilFramerShireframeUIDesignerBalsamiq MockupsMockup BuilderMockupFrameBoxiPhone MockupGOOFLOWWireframeSketcherFluidIAIndigo StudioOrigamiQuartz ComposerJustprotoAvocadoPaintCodeMockplus(摩客)墨刀

IDC机房跳线

服务网卡口与配线架 这里有一根网线 记录方式 签 A:23FM-23U-T07 (配线架网线) B:23FM-23U-NIC1&#xff08;服务器网线&#xff09; 在配线架的机柜旁边一定写明了 跳线的对面的 交换和配线架的网线位置 比如 记录方式为 A:23FA-23FJ-T07 B:H3C-22U-T04 转载于:https://www…

常用的mysql sql_mode

ONLY_FULL_GROUP_BY&#xff1a; 对于GROUP BY聚合操作&#xff0c;如果在SELECT中的列&#xff0c;没有在GROUP BY中出现&#xff0c;那么这个SQL是不合法的&#xff0c;因为列不在GROUP BY从句中 NO_AUTO_VALUE_ON_ZERO&#xff1a; 该值影响自增长列的插入。默认设置下&…

(转)Java atomic原子类的使用方法和原理(一)

在讲atomic原子类之前先看一个小例子: public class UseAtomic { public static void main(String[] args) { AtomicInteger atomicIntegernew AtomicInteger(); for(int i0;i<10;i){ Thread tnew Thread(new AtomicTest(atomicInteger)); t.start(); try { t.join(0); } ca…

Spring Boot 单例模式中依赖注入问题

在日常项目开发中&#xff0c;单例模式可以说是最常用到的设计模式&#xff0c;项目也常常在单例模式中需要使用 Service 逻辑层的方法来实现某些功能。通常可能会使用 Resource 或者 Autowired 来自动注入实例&#xff0c;然而这种方法在单例模式中却会出现 NullPointExceptio…

linux(centOS7,mini),python环境的搭建

今天想试一试python在linux下的工作&#xff0c;在vmware中安装了centOS7版本的linux&#xff0c;先前装过一个带GUI的&#xff0c;但是感觉在虚拟机理跑的太慢&#xff0c;干脆直接装一个最精简的mini版&#xff0c;试一下ifconfig&#xff0c;vim啥的全部commend not found。…

VO,BO,PO,DO,DTO的区别

面对这个图&#xff0c;让我们先从承上启下的DTO开始入手 DTO&#xff08;Data Transfer Object&#xff09;数据传输对象 这个传输通常指的前后端之间的传输 DTO是一个比较特殊的对象&#xff0c;他有两种存在形式&#xff1a; 在后端&#xff0c;他的存在形式是java对象&…

Windows下pip 离线包安装

pip在线安装十分方便&#xff0c;有时候某些服务器并没有直接联网&#xff0c;需要下载好安装包上传到服务器上进行安装&#xff0c;不经常用&#xff0c;还是有点小麻烦的。 安装Python之后&#xff0c;将下载好的安装包包放在Python安装的根目录下使用pip install packagenam…

mysql维护

1.通过 show engine innodb status命令来查看这些线程的状态&#xff1a; mysql>show engine innodb status\G *************************** 1. row ***************************Type: InnoDBName: #####################################################################…

VMware设置及linux静态ip设置

1. VMWARE虚拟机NAT模式上网设置 1.1. VM虚拟机设置 1.1.1. 虚拟机全局设置 启动虚拟机选择【虚拟网络编辑器】 如果需要管理员权限点【更改设置】&#xff0c;没有提示这忽略这一步 选择NAT模式&#xff0c;更改下面的子网IP&#xff0c;改成你需要的任何一个子网网段&…

InnoDB内存优化

1&#xff0e;InnoDB缓存机制 InnoDB用一块内存区做IO缓存池&#xff0c;该缓存池不仅用来缓存InnoDB的索引块&#xff0c;而且也用来缓存InnoDB的数据块&#xff0c;这一点与MyISAM不同。 在内部&#xff0c;InnoDB缓存池逻辑上由 free list、flush list和LRU list组成。顾名…

问题 L: 超超的中等意思

问题 L: 超超的中等意思 时间限制: 1 Sec 内存限制: 128 MB提交: 366 解决: 27[提交] [状态] [命题人:jsu_admin]题目描述 已知p,q,k和一个难搞得多项式(pxqy)^k。想知道在给定a和b的值下计算多项式展开后x^a*y^b得系数s。输入 多组输入&#xff0c;每组数据一行输入p,q,k,a,…

改善带有 order by子句或group子句SQL的性能

如果通过 show global status 看到 sort_merge_passes 的值很大&#xff0c;可以考虑通过调整参数sort_buffer_size的值来增大排序缓存区&#xff0c;以改善带有 order by子句或group子句SQL的性能。 对于无法通过索引进行连接操作的查询&#xff0c;可以尝试通过增大&#xf…

springboot系列十五、springboot集成PageHelper

一、介绍 项目中经常会遇到分页&#xff0c;PageHelper为我们解决了这个问题。本质上实现了Mybatis的拦截器&#xff0c;作了分页处理。 二、配置PageHelper 1、引入依赖 pagehelper-spring-boot-starter对了pagehelper做了封装&#xff0c;减少 了配置文件&#xff0c;只需要在…

SELinux 引起的 Docker 启动失败

问题描述 Linux OS 版本 CentOS Linux release 7.2.1511 (Core) 启动Docker service docker start 启动失败信息 原因分析 Error starting daemon: SELinux is not supported with the overlay2 graph driver on this kernel. Either boot into a newer kernel or disabl...nab…

第十一章 Helm-kubernetes的包管理器(上)

Helm - K8s的包管理器 11.1 Why Helm K8s能够很好的组织和编排容器&#xff0c;但它缺少一个更高层次的应用打包工具&#xff0c;Helm就是干这个的。 比如对于一个MySQL服务&#xff0c;K8s需要部署如下对象&#xff1a; &#xff08;1&#xff09;Service&#xff0c;让外界能…

C# - JSON详解

C# - JSON详解 转载于:https://www.cnblogs.com/macT/p/10214396.html