首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏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

    38630编辑于 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); //设置性别信息为枚举

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

    MyBatis-Plus之枚举

    MyBatis-Plus之枚举 博主 默语带您 Go to New World. 在MyBatis-Plus中,对枚举(Enum)的支持相对比较方便,可以更容易地将枚举类型映射到数据库中的字段。 以下是关于MyBatis-Plus中枚举的一些要点: 枚举映射: MyBatis-Plus允许将Java中的枚举类型映射到数据库中的字段。 通过@EnumValue和@EnumValue注解,您可以指定枚举的值和数据库字段之间的映射关系。 枚举类型: 在MyBatis-Plus中,枚举类型可以用于作为实体类中的字段类型。 代码示例: 假设您有一个订单实体类,其中包含一个枚举类型的支付状态。您可以使用MyBatis-Plus来映射这个枚举字段到数据库中。

    54110编辑于 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.6K30编辑于 2023-05-26
  • 来自专栏Rust入门笔记

    【Rust学习】10_定义枚举

    前言这一章开始我们的rust版本升级为 rustc 1.82.0 (f6e511eec 2024-10-15)在这一章我们学习 枚举(enumerations),也被称作 enums。 然而,仅使用枚举来表示相同的概念更简洁:我们可以将数据直接放入每个枚举成员中,而不是在结构体中放置枚举。 在这里,还能更容易地看出枚举工作方式的另一个细节:我们所定义的每个枚举成员的名称也成为了一个用于构造枚举实例的函数。 这导致了无数的错误、漏洞和系统崩溃,在过去 40 年中可能造成了 10 亿美元的痛苦和损害。null 值的问题在于,如果尝试将 null 值用作非 null 值,则会收到某种错误。 它是一个泛型类型参数,我们将在第 10 章中更详细地介绍泛型。

    36210编辑于 2024-11-08
  • 来自专栏学习笔记持续记录中...

    Java基础:五、枚举类型 (10

    public enum Spiciness{ NOT,MILD,MEDIUM,HOT,FLAMING } 这里创建了一个名为Spiciness的枚举类型,它具有5个具名值,由于枚举类型的实例是常量

    52320发布于 2020-03-17
  • 来自专栏技术进阶之路

    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
  • 来自专栏算法之名

    MyBatis数据库字段映射Java枚举

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

    2.1K20发布于 2019-08-20
  • 来自专栏Devops专栏

    10. MyBatis缓存

    10. MyBatis缓存 前言 上一篇章我们已经了解了 MyBatis 加载策略,本篇章再来认识一下 MyBatis 缓存。 什么是缓存? # 缓存和缓冲的区别 1. “经常访问但又不经常修改的数据... ” 缓存是用来提高再次查询效率的,所有的持久层框架基本上都有缓存机制 Mybatis也提供了缓存策略,分为一级缓存,二级缓存 一级缓存 介绍 MyBatis 一级缓存是 DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis 知识小结 1. mybatis的缓存,都不需要我们手动存储和获取数据。mybatis自动维护的。 2. 使用mybatis,如果是中小型项目,使用自带缓存的机制是可以满足需求的。 如果是大型(分布式)项目,mybatis的缓存灵活性不足,需要使用第三方的缓存技术解决问题。

    44420编辑于 2022-01-17
  • 来自专栏数据分析与挖掘

    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 BaseJdbcLogger.java:145) DEBUG 01-23 15:46:12,705 <== Updates: 1 (BaseJdbcLogger.java:145) 保存成功:<em>10</em>

    75410发布于 2020-08-26
  • 来自专栏捞月亮的小北

    10. Mybatis 参数处理

    来说都是可以自动类型识别的: 也就是说对于mybatis来说,它是可以自动推断出ps.setXxxx()方法的。 因为mybatis它有强大的自动类型推断机制。 javaType:可以省略 jdbcType:可以省略 parameterType:可以省略 如果参数只有一个的话,#{} 里面的内容就随便写了。 StudentMapper接口 , 需求:根据name查、根据id查、根据birth查、根据sex查 package com.north.mybatis.mapper; import com.north.mybatis.pojo.Student DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis ; import com.north.mybatis.mapper.StudentMapper; import com.north.mybatis.pojo.Student; import com.north.mybatis.utils.SqlSessionUtil

    28310编辑于 2024-06-25
  • 来自专栏捞月亮的小北

    10. Mybatis的缓存

    一级缓存的理解: Mybatis 的一级缓存是指默认开启的、基于 SqlSession 的缓存。 通过开启 Mybatis 的二级缓存,可以避免因为一级缓存的使用不当而导致的数据不一致问题,提高应用程序的性能。 Mybatis 的二级缓存是由一个叫做 Cache 的接口来定义的,可以通过配置相关的 Cache 实现来进行二级缓存的管理。 MyBatis 缓存查询的顺序 ‍ 先查询二级缓存,因为二级缓存中可能会有其他程序已经查出来的数据,可以拿来直接使用。 -- Mybatis EHCache整合包 --> <dependency>    <groupId>org.mybatis.caches</groupId>    <artifactId>mybatis-ehcache

    58410编辑于 2023-12-01
  • 来自专栏小工匠聊架构

    MyBatis-10MyBatis注解方式之Provider注解

    PrivilegeProvider类 2.PrivilegeMapper接口增加接口方法 3.单元测试 小结 概述 除了@Select @Insert @Update @Delete四种注解可以使用简单的SQL外,MyBatis 下面通过@SelectProvider来了解下Provider注解方式的基本用法 @SelectProvider 1.开发PrivilegeProvider类 package com.artisan.mybatis.xml.provider ; import org.apache.ibatis.annotations.SelectProvider; import com.artisan.mybatis.xml.domain.SysPrivilege ; import com.artisan.mybatis.xml.provider.PrivilegeProvider; /** * * * @ClassName: PrivilegeMapper id=1, privilegeName=用户管理, privilegeUrl=/users] ---- 小结 最常用的注解我们简单的介绍了下使用方式,但是注解方式并不是主流,因此不深究,更多用法请参考MyBatis

    1.1K30发布于 2021-08-17
  • 来自专栏浮躁的喧嚣

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

    :Swift枚举在创建时未分配默认整数值。 原始值是在定义枚举时被预先填充的值。对于一个特定的枚举成员,它的原始值始终不变。关联值是创建一个基于枚举成员的常量或变量时才设置的值,枚举成员的关联值可以变化。 ) 使用原始值初始化枚举实例 可以通过rawValue初始化一个枚举成员,返回值则是枚举成员或nil 可以通过这个来判断这个新枚举成员是否在枚举值中 enum Season:Int { case 递归枚举是一种枚举类型 有一个或多个枚举成员使用该枚举类型的作为枚举成员 在枚举成员前加上indirect来表示该成员可递归 enum ArithmeticExpression { case print(evaluate(num)) // 打印 "5" print(evaluate(ArithmeticExpression.addition(num, num))) // 打印 "10

    1K10编辑于 2023-11-22
  • 驱动开发:Win10内核枚举SSDT表基址

    三年前面朝黄土背朝天的我,写了一篇如何在Windows 7系统下枚举内核SSDT表的文章《驱动开发:内核读取SSDT表基址》三年过去了我还是个单身狗,开个玩笑,微软的Windows 10系统已经覆盖了大多数个人 PC终端,以前的方法也该进行迭代更新了,或许在网上你能够找到类似的文章,但我可以百分百肯定都不能用,今天LyShark将带大家一起分析Win10 x64最新系统SSDT表的枚举实现。 看一款闭源ARK工具的枚举效果:图片直接步入正题,首先SSDT表中文为系统服务描述符表,SSDT表的作用是把应用层与内核层联系起来起到桥梁的作用,枚举SSDT表也是反内核工具最基本的功能,通常在64位系统中要想找到 图片那么如果将这个过程通过代码的方式来实现,我们还需要使用《驱动开发:内核枚举IoTimer定时器》中所使用的特征码定位技术,如下我们查找这段特征。 ,qword ptr ds:[rdi+r10] |4D:631C82 | movsxd r11,dword ptr ds:[r10+rax*4]

    91920编辑于 2022-11-18
  • 自定义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

    95910编辑于 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。

    88520发布于 2020-08-26
  • 来自专栏苏三说技术

    MyBatis中的 10 个宝藏技巧!

    今天就从浅入深,分享 10 个让人眼前一亮的 MyBatis 开发技巧,每一个都配上具体的场景和代码示例,务求通俗易懂,希望对你会有所帮助。 1. MyBatis-Plus 的分页功能 很多小伙伴在做分页的时候,习惯自己写 LIMIT 的 SQL,这样不仅麻烦,还容易出错。 其实,用 MyBatis-Plus 的分页插件能省不少事。 示例:MyBatis-Plus 分页功能 Page<User> page = new Page<>(1, 10); // 第 1 页,每页 10 条 IPage<User> userPage = userMapper.selectPage 10. 多数据源支持 当系统需要连接多个数据库时,可以通过 MyBatis 的多数据源配置轻松搞定。 总结 MyBatis 的魅力在于简单、高效,但很多时候我们用得太“基础”,没有发挥它的全部潜力。 希望这 10 个技巧能帮你更高效地使用 MyBatis,也让你的代码看起来更“惊艳”。

    26710编辑于 2024-12-24
  • 来自专栏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
领券