首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏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中的枚举类型映射到数据库中的字段。 通过@EnumValue和@EnumValue注解,您可以指定枚举的值和数据库字段之间的映射关系。 枚举类型: 在MyBatis-Plus中,枚举类型可以用于作为实体类中的字段类型。 代码示例: 假设您有一个订单实体类,其中包含一个枚举类型的支付状态。您可以使用MyBatis-Plus来映射这个枚举字段到数据库中。

    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
  • 来自专栏Devops专栏

    9. MyBatis加载策略

    9. MyBatis加载策略 前言 在上一篇中我们已经熟悉了 MyBatis 的嵌套查询,而嵌套查询是通过多个单表查询多次执行来实现的。 那么要实现这个目标,我们就要来认识一下 MyBatis 的 加载策略。 (表)的时候, 需要立即加载出其关联的所有模型(表), 这种策略称为立即加载 如果加载一个模型的时候, 不需要立即加载出其关联的所有模型, 等到真正需要的时候再加载, 这种策略称为延迟加载(懒加载) Mybatis ” 配置延迟加载 全局 “官网文档 https://mybatis.org/mybatis-3/ ” 在 SqlMapConfig.xml,设置开启全局延迟加载 <!

    47620编辑于 2022-01-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
  • 来自专栏捞月亮的小北

    9. Mybatis 小技巧

    <mappers> <mapper resource="org/<em>mybatis</em>/builder/AuthorMapper.xml"/> <mapper resource="org/<em>mybatis</em> ="org.mybatis.builder.BlogMapper"/> <mapper class="org.<em>mybatis</em>.builder.PostMapper"/> </mappers> 将CarMapper.xml 文件移动到和mapper接口同一个目录下: 在resources目录下新建:com/powernode/mybatis/mapper【这里千万要注意:不能这样新建 com.powernode.mybatis.dao 】 将CarMapper.xml文件移动到mapper目录下 修改mybatis-config.xml文件 <mappers> <mapper class="com.powernode.<em>mybatis</em>.mapper.CarMapper 【比较麻烦】 第二种方式:<em>mybatis</em>提供了一种方式更加便捷。 ​ ​

    21210编辑于 2024-06-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-

    2K20发布于 2019-08-20
  • 来自专栏写代码和思考

    MyBatis 学习笔记(9) 分页查询

    背景 在 mybatis 中经常用到分页查询,本文介绍下使用 PageHelper 进行分页查询。 2.知识 MyBatis 分页插件 - PageHelper。 如果你也在用 MyBatis,建议尝试该分页插件,这一定是最方便使用的分页插件。分页插件支持任何复杂的单表、多表分页。 使用分为这几步: 配置 mybatis 分页插件 代码中使用 配置 mybatis 分页插件 修改 mybatis-config.xml 配置文件。 <plugins> <! page = %s", page); } } 我的代码示例见: https://github.com/vir56k/java_demo/tree/master/mybatisdemo9_ /pagehelper/Mybatis-PageHelper/blob/master/wikis/zh/HowToUse.md

    49230发布于 2021-07-08
  • 来自专栏从零开始学自动化测试

    pydantic学习与使用-9.枚举类型(enum)

    前言 python3 内置的enum 模块可以支持枚举类型,此模块定义了四个枚举类,用来定义名称与值的唯一组合: Enum、IntEnum、Flag 和 IntFlag。 枚举是由 class 句法创建的,这种方式易读、易写。 枚举类型 pydantic使用 python 的标准enum类来定义选择。 pear' banana = 'banana' class ToolEnum(IntEnum): spanner = 1 wrench = 2 创建数据模型,字段设置为前面定义的枚举类型

    2K40编辑于 2022-03-03
  • 来自专栏数据分析与挖掘

    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

    73410发布于 2020-08-26
  • 来自专栏大数据知识

    Mybatis使用的9种设计模式

    Mybatis源码中使用了大量的设计模式,阅读源码并观察设计模式在其中的应用,能够更深入的理解设计模式。 则是提供给整个Mybatis使用的日志工厂,用于获得针对项目配置好的日志对象。 4、代理模式 代理模式可以认为是Mybatis的核心使用的模式,正是由于这个模式,我们只需要编写Mapper.java接口,不需要实现,由Mybatis后台帮我们完成具体SQL的执行。 Mybatis支持动态SQL的强大功能,比如下面的这个SQL: <update id="update" parameterType="org.format.dynamicproxy.<em>mybatis</em>.bean.User 对象之间的引用顺序为: SynchronizedCache–>LoggingCache–>SerializedCache–>ScheduledCache–>LruCache–>PerpetualCache <em>9</em>、

    43130编辑于 2021-12-30
  • 来自专栏技术杂货店

    Mybatis9】-- Mybatis占位符#{}和拼接符${}有什么区别?

    代码直接放在Github仓库【https://github.com/Damaer/Mybatis-Learning 】,可直接运行,就不占篇幅了。 我们只能使用${},MyBatis不会修改或转义字符串。这样是不安全的,会导致潜在的SQL注入攻击,我们需要自己限制,不允许用户输入这些字段,或者通常自行转义并检查。所以这必须过滤输入的内容。

    1.5K20编辑于 2022-02-15
  • 来自专栏技术杂货店

    Mybatis9】-- Mybatis占位符#{}和拼接符${}有什么区别?

    代码直接放在Github仓库【https://github.com/Damaer/Mybatis-Learning 】,可直接运行,就不占篇幅了。 我们只能使用${},MyBatis不会修改或转义字符串。这样是不安全的,会导致潜在的SQL注入攻击,我们需要自己限制,不允许用户输入这些字段,或者通常自行转义并检查。所以这必须过滤输入的内容。

    77200发布于 2020-12-26
  • 来自专栏对线JAVA面试

    Mybatis 中经典的 9 种设计模式

    Mybatis源码中使用了大量的设计模式,阅读源码并观察设计模式在其中的应用,能够更深入的理解设计模式。 接口和它对jdbc、log4j等各种日志框架的适配实现; 8、装饰者模式,例如Cache包中的cache.decorators子包中等各个装饰者的实现; 9、迭代器模式,例如迭代器模式PropertyTokenizer 则是提供给整个Mybatis使用的日志工厂,用于获得针对项目配置好的日志对象。 4、代理模式 代理模式可以认为是Mybatis的核心使用的模式,正是由于这个模式,我们只需要编写Mapper.java接口,不需要实现,由Mybatis后台帮我们完成具体SQL的执行。 对象之间的引用顺序为: SynchronizedCache–>LoggingCache–>SerializedCache–>ScheduledCache–>LruCache–>PerpetualCache 9

    59620编辑于 2022-10-27
  • 来自专栏侯哥的Python分享

    MySQL运维9-Mycat分库分表之枚举分片

    一、枚举分片   通过在配置文件中配置可能的枚举值,指定数据分布到不同数据节点上,这种方式就是枚举分片规则,本规则适用于按照省份,性别,状态拆分数据等业务 二、枚举分片案例   枚举分片需求:现有 tb_enum   说明2:系统默认的枚举字段是:sharding_id (可以根据需要改成自己需要的枚举字段,但是不推荐,因为有可能多个表的枚举字段会有冲突,请看说明4)   说明3:系统默认的枚举分片的算法:hsah-int   说明4:这里我将系统的枚举算法复制一份改了名字为"my-sharding-by-intfile1",columns改为我需要的枚举字段status,这样做的原因是,因为如果一个数据库中可能还会有其他的表根据其他枚举字段分片 ,这样就冲突了,所以为了防止多个表的枚举分片规则冲突,最好的方式就是重新复制一个新的枚举规则,改一下规则的名称,然后再改一个枚举的字段,只要保证枚举算法:hash-int不变就行了。    hl_logs   说明2:枚举分片的逻辑表是tb_enum   说明3:dataNode同样是dn4,dn5,dn6   说明4:枚举分片的规则是自定义的枚举规则 rule="my-sharding-by-intfile1

    31811编辑于 2023-12-19
  • 来自专栏浮躁的喧嚣

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

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

    1K10编辑于 2023-11-22
  • 《Java 程序设计》第 9 章 - 内部类、枚举和注解

    9.2.1 枚举类型的定义 枚举使用enum关键字定义,每个常量之间用逗号分隔,末尾可省略分号。 System.out.println("枚举常量的类型:" + currentSeason.getClass()); System.out.println("枚举类名: " + Season.class.getName()); } } 运行结果: 9.2.2 枚举类型的方法 枚举类默认继承java.lang.Enum,自带以下常用方法: values():返回所有枚举常量的数组 (顺序与定义一致) valueOf(String name):根据名称获取枚举常量(名称必须完全匹配) ordinal():返回枚举常量的索引(从 0 开始) name():返回枚举常量的名称 此外,枚举还可以自定义方法 枚举的构造方法必须是私有的(默认 private,不可显式声明为 public),用于初始化枚举常量的成员变量。

    12910编辑于 2026-01-21
  • 来自专栏Java架构师必看

    9.Spring-Boot之Mybatis-LogBack-Freemarker

    今天说一说9.Spring-Boot之Mybatis-LogBack-Freemarker,希望能够帮助大家进步!!! DEFAULT NULL, `phone` varchar(32) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=9 = mybatis 配置文件名称 #mybatis.mapperLocations = mapper xml 文件地址 #mybatis.typeAliasesPackage = 实体类包路径 ,一般命名为 mybatis-config.xml #mybatis.executorType = 执行模式。 User> queryList(User user); User get(Integer id); void save(User user); void delete(Integer id); } 9.

    47340编辑于 2021-12-03
领券