首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Java后端开发博客

    MyBatis-Plus 通用枚举

    # MyBatis-Plus 通用枚举 数据库添加字段sex 创建通用枚举类型 配置扫描通用枚举 测试 结果 表中的有些字段值是固定的,例如性别(男或女),此时我们可以使用MyBatis-Plus的通用枚举来实现 # 数据库添加字段sex ALTER TABLE t_user ADD sex INT(11) # 创建通用枚举类型 /** * @author frx * @version 1.0 * @date #配置mybatis日志 mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #设置mybatis-plus的全局配置 global-config: db-config: # 配置MyBatis-Plus操作表的默认前缀 table-prefix : t_ # 配置MyBatis-Plus的主键策略 id-type: auto # 配置类型别名所对应的包 type-aliases-package: com.frx01

    36530编辑于 2022-12-25
  • 来自专栏SpringBoot教程

    MyBatis-Plus通用枚举

    创建通用枚举类型 package com.atguigu.mp.enums; import com.baomidou.mybatisplus.annotation.EnumValue; import SexEnum(Integer sex, String sexName) { this.sex = sex; this.sexName = sexName; } } 配置扫描通用枚举 mybatis-plus: configuration: # 配置MyBatis日志 log-impl: org.apache.ibatis.logging.stdout.StdOutImpl global-config: db-config: # 配置MyBatis-Plus操作表的默认前缀 table-prefix: t_ # 配置MyBatis-Plus void testSexEnum(){ User user = new User(); user.setName("Enum"); user.setAge(20); //设置性别信息为枚举

    26230编辑于 2023-02-16
  • 来自专栏JAVA

    MyBatis-Plus之枚举

    MyBatis-Plus之枚举 博主 默语带您 Go to New World. 在MyBatis-Plus中,对枚举(Enum)的支持相对比较方便,可以更容易地将枚举类型映射到数据库中的字段。 以下是关于MyBatis-Plus中枚举的一些要点: 枚举映射: MyBatis-Plus允许将Java中的枚举类型映射到数据库中的字段。 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; 添加性别 表中的有些字段值是固定的,例如性别(男或女),此时我们可以使用MyBatis-Plus的通用枚举来实现 characterEncoding=utf-8&userSSL=false username: root password: root mybatis-plus: configuration

    52510编辑于 2024-11-20
  • 来自专栏用户1337634的专栏

    自定义枚举 --- MyBatis字段映射

    MyBatis自带的EnumTypeHandler转换为文字保存在数据库,EnumOrdinalTypeHandler使用的是序号,它们的一致性都可能被轻易地破坏,所以最好的办法是自定义一个int类型 自定义公共父接口 package com.tenmao.utils.mybatis; import java.util.Arrays; import java.util.Optional; public " /> </bean> 自定义枚举 package com.tenmao.utils.model; import com.tenmao.utils.mybatis.CodedEnum; public getCode() { return code; } } ps: 参考资料写得特别好,我之所以重新写了一下,是资料写得有点啰嗦,比如子类的注册,其实都是自动的,不需要再额外配置 自定义枚举系列 自定义枚举 --- Gson转换 自定义枚举 --- Swagger文档展示 参考 如何在MyBatis中优雅的使用枚举

    2.5K11发布于 2019-03-27
  • 来自专栏Nicky's blog

    Mybatis自定义枚举类处理器优雅地使用枚举

    在和前端开发对接接口过程中经常发现需要一些枚举类的字典参数,虽然可以通过swagger在线文档给前端开发,不过可以直接返回枚举的编码和字典值就可以更直观,所以在项目里怎么实现? 可以通过Mybatis的一些接口,自定义枚举类的处理器实现 环境准备 开发环境 JDK 1.8 SpringBoot2.2.1 Maven 3.2+ 开发工具 IntelliJ IDEA smartGit shape = JsonFormat.Shape.OBJECT) public interface IEnum { String getCode(); String getName(); } 枚举工具类 写一个枚举工具类,根据code和name返回对应枚举类,根据反射获取getEnumConstants,循环匹配 package com.example.springboot.mybatis.common.enumhandler : true 项目中使用 需要的枚举类就继承IEnum接口 package com.example.springboot.mybatis.bean; import com.example.springboot.mybatis.common.enumhandler.IEnum

    1.5K30编辑于 2023-05-26
  • 来自专栏技术进阶之路

    Mybatis-Plus 通用枚举类型的使用

    Mybatis-Plus 中我们可以使用枚举类型来完成这一操作,他能自动将数据库里的字段映射成我们需要的字段,例如性别,新建枚举类如下: @Getter public enum GenderType EnumValue:标注哪一个字段是数据库里的字段; @JsonValue:标注要开启自定义序列化返回值; toString:具体的返回值; 同时我们需要在与数据库关联的实体类中修改类型,将性别字段改为枚举类型 private String name; /** * 性别 */ private GenderType gender; } 在配置文件中配置扫描注解类型: #mybatis-plus 配置 mybatis-plus: type-enums-package: com.demo.test.enums 这个时候再去查询,返回的结果就直接是我们在枚举类型中定义的 name 值了。

    2.5K60发布于 2021-08-24
  • 来自专栏mathor

    枚举+优化(8)——前缀和2

    至此,题目中70%的分数应该能拿到了,还有30%需要优化 优化  优化的方法当然还是从枚举入手,我们假设只枚举q,也就是最后一段的断点。 所以对于一个合法的切分方案,S1的取值只可能是S3-1, S3, S3+1三种,也就是1,2,3  但是由于S1+S2+S3的和是整个数组的和,也就是8。所以S1的三种取值不见得都能成立。 比如S1=1这种情况,由于S3=2是确定的,所以S2一定等于8-1-2=5。这是S2与S3相差超过1,不符合题目要求。所以S1=1这种情况不成立。同理S1=2也是不成立的。 但是S1=3是成立的,因为这时S2的值是8-3-2=3。S2与S1和S3相差都不超过1  在S[1], S[2]和S[3]三个前缀和中,有几个的值是3。 S1=2是成立的,因为这时S2=8-2-3=3,{2, 3, 3}相差都不超过1。S1=3也是成立的,因为这时S2=8-3-3=2,{3, 2, 3}相差都不超过1。S1=4是不成立的。

    70150发布于 2018-06-12
  • 来自专栏算法之名

    MyBatis数据库字段映射Java枚举

    有时候我们需要将数据库的字段对Java的枚举类型进行映射,比如说我们有一个汽车配件类型的枚举 public enum ProductType implements Localisable { TYPE1 this.value = value; } @Override public String getValue() { return this.value; } } 该枚举类型实现了一个接口 public interface Localisable { String getValue(); } 有一个配件分类的实体类,包含了该枚举字段(此处只包含部分字段属性) /** * 配件分类 xml version="1.0" encoding="UTF-8" ?> <! DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-

    2K20发布于 2019-08-20
  • 来自专栏静心物语313的Coding

    A2第8枚举类型

    A2第8枚举类型第二章第8节 1、有一些数据是开放性范围的,比如int、float、String。 2、枚举是一种定义确定取值范围的特殊类型语法: enum Dir { East,West,North,South; } 3、使用Dir d = Dir.East; A2第9节基本运算符(余、自增自减、 8、提问:3+5+"hello"+5+3 结果是---------------------------------------------------8hello53 9、Console.WriteLine 男":"女"); 例子:判断w是否为8 解:int w=8; bool b=(w=8); console.writeline(b); //----- efault: //语句; break } 4、表达式可以是byte ,short、int、char、string、枚举类型。

    43010发布于 2020-03-24
  • 来自专栏数据分析与挖掘

    mybatis扩展之类型处理器(枚举类型处理)

    EmpStatus empStatus=EmpStatus.LOGOUT; private Department dept; EmpStatus.java package com.gong.mybatis.bean ; import com.gong.mybatis.bean.Employee; import com.gong.mybatis.dao.EmployeeMapper; import com.gong.mybatis.mapper.EmployeeMapperDynamicSql BaseJdbcLogger.java:145) DEBUG 01-23 15:27:43,472 <== Updates: 1 (BaseJdbcLogger.java:145) 保存成功:9 数据库中: 插入的是枚举类型的值 我们也可以在mybatis全局配置文件中处理枚举类型的Handler: <typeHandlers> <typeHandler handler="org.apache.ibatis.type.EnumOrdinalTypeHandler " javaType="com.gong.<em>mybatis</em>.bean.EmpStatus"/> </typeHandlers> 再进行测试,输出结果为: DEBUG 01-23

    73410发布于 2020-08-26
  • 来自专栏java一日一条

    在Java 8下更好地利用枚举

    我告诉自己:“我们使用Java8或许可以发现一些新的特性来避免swtich/case的危险场面出现”。使用Java8的新 functions(不是那么新,不过你知道我的意思)。 我决定使用枚举代表不同的可得到时间段。 ? ? ? 通过枚举,我就能够很容易地修改代码,允许用户给图表数据点指定时间段。 原来是这样调用: ? 变成这样调用: ?

    86510发布于 2018-09-14
  • 来自专栏Android干货园

    Kotlin中级(8)- - - Kotlin类之接口、枚举.md

    枚举类中的每一个枚举常量都是一个对象,并且他们之间用逗号分隔。 要实现枚举常量的匿名类,则必须提供一个抽象方法,且该方法定义在枚举类内部,而且必须是在枚举类变量的后面 枚举变量之间使用逗号(,)分割开。 但是最后一个枚举变量必须使用分号结束。不然定义不了抽象方法。 GREEN ") } }; abstract fun print() } 枚举类的使用 每个枚举常量都包含两个属性:name(枚举常量名)和ordinal(枚举常量位置 ) 提供了values()和valueOf()方法来检测指定的名称与枚举类中定义的任何枚举常量是否匹配 自 Kotlin 1.1起,可以使用 enumValues()和 enumValueOf()函数以泛型的方式访问枚举类中的常量

    62920发布于 2018-09-30
  • 来自专栏写代码和思考

    MyBatis 学习笔记(8) 在Springboot 项目中集成 mybatis

    useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC username: root password VARCHAR(100) NULL, status INT NOT NULL, country VARCHAR(100) NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 (name,STATUS) VALUES ('河北',1); 我的代码示例: https://github.com/vir56k/java_demo/tree/master/mybatisdemo8_ springboot_mybatis 5.参考: MyBatis Spring-Boot-Starter 将帮助你在 Spring Boot 中使用 MyBatis https://github.com /mybatis/spring-boot-starter http://mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure

    40810发布于 2021-07-08
  • 来自专栏浮躁的喧嚣

    swift 枚举(枚举关联值、枚举原始值、递归枚举等)

    :Swift枚举在创建时未分配默认整数值。 原始值是在定义枚举时被预先填充的值。对于一个特定的枚举成员,它的原始值始终不变。关联值是创建一个基于枚举成员的常量或变量时才设置的值,枚举成员的关联值可以变化。 autumn case winter } 当使用字符串作为枚举类型的原始值时,每个枚举成员的隐式原始值为该枚举成员的名称 enum Season:String { case spring ) 使用原始值初始化枚举实例 可以通过rawValue初始化一个枚举成员,返回值则是枚举成员或nil 可以通过这个来判断这个新枚举成员是否在枚举值中 enum Season:Int { case 递归枚举是一种枚举类型 有一个或多个枚举成员使用该枚举类型的作为枚举成员 在枚举成员前加上indirect来表示该成员可递归 enum ArithmeticExpression { case

    1K10编辑于 2023-11-22
  • 来自专栏Android 开发者

    Kotlin Vocabulary | 枚举和 R8 编译器

    我会讨论一些和 when 语句相关的潜在开销,以及 Android R8 编译器是如何优化您的应用并减少这些开销的。 编译器 首先,我们讲一讲 D8 和 R8。 D8 D8 是整个链条中的第二个编译器,它把 Java 字节码转换为 DEX 代码。到了这一步,您已经有了能够运行在 Android 中的代码。不过,您也可以选择继续使用第三个编译器 —— R8。 R8 (可选,但推荐使用) R8 以前是用来优化和缩减应用体积的,它基本上就是 ProGuard 的一个替代方案。 无论在 Java 还是 Kotlin 中,枚举的功能和消耗本质上都是一样的。有趣的地方在于引入了 R8 之后,我们能对其中的一些开销做些什么。 枚举本身不包含任何隐藏开销。 幸运的是,我们可以做一些事情来减少开销: 这就是 R8 发挥作用的时候了。 使用 R8 来解决问题 R8 是一个有趣的优化器,它能 "看" 到与应用相关的所有内容。

    1.3K50发布于 2020-05-08
  • 自定义MyBatis通用枚举类型处理器 --- 是真的通用

    自定义 MyBatis 通用枚举类型解析器 在使用MyBatis的过程中,我们经常会使用到枚举类型的数据, 一般在保存数据时只是想将枚举类型的code值存入到数据库中,查询时希望能自动根据code值映射出对应的枚举对象出现 ,而不是查询出code值然后再手动根据code值找到对应的枚举对象的转换 官方注册方案 官方方案:https://mybatis.org/mybatis-3/zh_CN/configuration.html 为了实现所有的枚举都自动注册通用类型转换器,这里需要自定义一个配置类CustomizeMyBatisConfiguration.java并实现org.mybatis.spring.boot.autoconfigure.ConfigurationCustomizer 获取所有需要注册到通用枚举类型处理器中的枚举类 1. 自定义一个类型过滤器com.kws.mybatis.config.CustomizeMyBatisConfiguration.EnumTypeFilter,用于在类路径扫描时,过滤出需要处理的枚举类(1

    90510编辑于 2024-02-04
  • 来自专栏数据分析与挖掘

    mybatis扩展之自定义类型处理器处理枚举类型

    全局配置: <typeHandlers> <typeHandler handler="com.gong.<em>mybatis</em>.typeHandler.MyEnumEmpStatusTypeHandler " javaType="com.gong.<em>mybatis</em>.bean.EmpStatus"/> <! throws SQLException { // TODO Auto-generated method stub //需要根据从数据库中拿到的枚举的状态码返回一个枚举对象 ; import com.gong.mybatis.bean.Employee; import com.gong.mybatis.dao.EmployeeMapper; import com.gong.mybatis.mapper.EmployeeMapperDynamicSql 存储的是自己定义的枚举类型中的code。

    87220发布于 2020-08-26
  • 来自专栏IT云清

    Spring Boot---(8)SpringBoot整合mybatis

    --mybatis--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.jdbc.Driver #mybatis #实体类包 mybatis.typeAliasesPackage=com.alibaba.entity #mapper.xml文件 mybatis.mapperLocations=classpath: xml version="1.0" encoding="UTF-8"?> <! DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd

    59040发布于 2019-01-22
  • 来自专栏CSDN旧文

    ACM算法--枚举方法(指数枚举,组合枚举)模板

    // 递归实现指数型枚举 vector<int> chosen; void calc(int x) { if (x == n + 1) { for (int i = 0; i < chosen.size "); return; } calc(x + 1); chosen.push_back(x); calc(x + 1); chosen.pop_back(); } // 递归实现组合型枚举 "); return; } calc(x + 1); chosen.push_back(x); calc(x + 1); chosen.pop_back(); } // 递归实现排列型枚举 order[k] = i; chosen[i] = 1; calc(k + 1); chosen[i] = 0; order[k] = 0; } } // 模拟机器实现,把组合型枚举改为非递归

    1.6K40发布于 2020-10-28
  • 来自专栏Java 源码分析

    枚举

    枚举就是尝试所有的可能性,尤其是当我们在确定一个问题是不是的这一类问题中尤其有用,例如说给一堆数,让我我们判断他们是不是素数,或者素数的数量的时候,这里他们就是判断类问题我们就可以使用枚举。 ​ 但是注意这里我们需要考虑的就是枚举的方式,也就是枚举的角度。这里有一个小的例子就是最长回文子串的问题。 ​ 首先我们就是用一个最简单的方式就是枚举出所有的字串,然后在这些字串里面找回文串。 然后上面的方式枚举的对象就是所有的字串,但是我们仔细就会发现重点在于回文子串的中心,如果我们枚举的是回文子串的中心以及回文的长度,我们就更简单的找到最长回文子串。 这里是从 n 三次方降到了 n 平方的复杂度,这样的原因在于我们去掉了很多的无用的字串,第一个枚举的方法就是枚举所有的字串,然后第二个就是仅仅找出那些具有回文形式的字串,这样就少了一个 n 。 其实在枚举的过程中有的枚举并没有必要,因为这些就是用来占用了时间复杂度但是没有给程序带来多大的帮助。

    1.3K60发布于 2018-04-17
领券