Springboot引入mybatis-plus及操作mysql的json字段
- springboot引入mybatis-plus,创建springboot项目省略
- pom文件
-
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.3.4</version></dependency> <!--自动生成代码模版--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-extension</artifactId><version>3.4.3.4</version></dependency> - 配置文件
-
#配置mybatis配置文件 mybatis-plus:#mappersmapper-locations: classpath:mappers/*Mapper.xmltype-handlers-package: com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler - 备注信息
- springboot使用mybatis和mybatis-plus没有什么区别,需要注意的是配置文件跟配置名:mybatis-plus
- 使用mybatis-plus的有点在于,在mybatis的基础上记性了一系列的有效封装,节约了开发时间,有这方面兴趣额同学自行搜索区别就是了
- mybatis-plus操作mysql的json字段
- mysql在5.7以后出现了json字段类型,这样省去了代码中转换的不必要性,但是mybatis目前还不能直接支持json类型,需要额外的处理,也就是自定义jdbctype类型进行处理
- mybatis-plus可以支持json类型
- 实体类类名和对应属性上增加配置
-
package com.test.entity; import com.alibaba.fastjson.JSONObject; @Data @TableName(value = "user",autoResultMap = true) public class User implements Serializable {private static final long serialVersionUID = 1L;private Long id;private String name;@TableField(value="content",typeHandler = JacksonTypeHandler.class)private JSONObject content; } - xml文件的resultMap对应的字段增加配置
-
<resultMap id="baseMap" type="com.enric.payment.bin.ConfigTicketBO"><id column="uuid" property="uuid"/><result column="station_id" property="station_id"/><result column="pc_on" property="pc_on"/><result column="machine_on" property="machine_on"/><result column="machine_auto" property="machine_auto"/><result column="ticket_pages" property="ticket_pages"/><result column="coupon_rule_volume" property="coupon_rule_volume"/><result column="coupon_over_volume" property="coupon_over_volume"/><result column="coupon_expire_time" property="coupon_expire_time"/><result column="create_time" property="create_time"/><result column="update_time" property="update_time"/><result column="create_by" property="create_by"/><result column="update_by" property="update_by"/><result column="ticket_info" property="ticket_info"typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"/><result column="coupon_info" property="coupon_info"typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"/></resultMap> - xml插入或更新语句增加配置
-
<update id="saveOrUpdate">INSERT INTO config_ticket(uuid, station_id, pc_on, machine_on, machine_auto, ticket_info, coupon_info,coupon_rule_volume,coupon_expire_time, coupon_over_volume, create_time, update_time, create_by)VALUES (#{uuid}, #{station_id}, #{pc_on}, #{machine_on}, #{machine_auto},#{ticket_info,jdbcType=OTHER,typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler},#{coupon_info,jdbcType=OTHER,typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler},#{coupon_rule_volume},#{coupon_expire_time}, #{coupon_over_volume}, now(), now(), #{create_by})ON DUPLICATE KEY UPDATE pc_on = #{pc_on},machine_on = #{machine_on},machine_auto = #{machine_auto},ticket_info = #{ticket_info,jdbcType=OTHER,typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler},coupon_info = #{coupon_info,jdbcType=OTHER,typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler},coupon_rule_volume = #{coupon_rule_volume},coupon_expire_time = #{coupon_expire_time},coupon_over_volume = #{coupon_over_volume},update_time = now(),update_by = #{update_by}</update>
相关文章:
Springboot引入mybatis-plus及操作mysql的json字段
springboot引入mybatis-plus,创建springboot项目省略 pom文件 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.3.4</version></dependency> <!…...
springboot读取application.properties中文乱码问题
目录 1 前言: 2 本地环境中的解决方案(以idea为例) 3 全部解决方案 1 前言: 初用properties,读取java properties文件的时候如果value是中文,会出现乱码的问题。我们首先需要明了乱码问题的根源。在 Java 中&#x…...
SAML- 安全断言标记语言
一、概念 安全断言标记语言(SAML)是一种开放标准,用于在各方之间(特别是身份提供商和服务提供商之间)交换身份验证和授权数据。SAML 是一种基于XML的安全断言标记语言(服务提供商用来做出访问控制决策的语句…...
【佳学基因检测】Node.js中http模块的使用
【佳学基因检测】Node.js中http模块的使用 先看代码: http.createServer(function (req, res) {res.writeHead(200, {Content-Type: text/html});res.end(测基因,阻遗传,就在佳学基因干(http://www.jiaxujiyin.com)!); }).liste…...
前端基础之JavaScript
JavaScript是一种能够在网页上添加交互效果的脚本语言,也被称为客户端语言。它可以在网页中操作HTML元素、改变CSS样式,以及处理用户的交互事件等。 以下是JavaScript的常见基础知识点: 变量和数据类型:JavaScript中的变量可以存…...
[GDOUCTF 2023]<ez_ze> SSTI 过滤数字 大括号{等
SSTI模板注入-中括号、args、下划线、单双引号、os、request、花括号、数字被过滤绕过(ctfshow web入门370)-CSDN博客 ssti板块注入 正好不会 {%%}的内容 学习一下 经过测试 发现过滤了 {{}} 那么我们就开始吧 我们可以通过这个语句来查询是否存在ss…...
C/C++奇数求和 2021年3月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析
目录 C/C奇数求和 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 C/C奇数求和 2021年3月 C/C编程等级考试一级编程题 一、题目要求 1、编程实现 计算非负整数 m 到 n(包括m 和 n ÿ…...
Android APT的使用
Apt 介绍 APT(Annotation Processing Tool)是一种处理注释的工具,它对源代码文件进行检测找出其中的 Annotation,根据注解自动生成代码。 Annotation 处理器在处理 Annotation 时可以根据源文件中的 Annotation 生成额外的源文件和其它的文件(文件具体内容由 Annot…...
【刷题宝典NO.0】
目录 素数的判定 打印素数 打印水仙花数 百钱买百坤 输出闰年 逆序打印一个整数的每一位 输出乘法口诀表 数字9出现的次数 二进制1的个数 输出一个整数的偶数位和奇数位的二进制序列 求两个整数的最大公约数 求两个整数的最小公倍数 小乐乐与欧几里得 小…...
MySQL数据库——存储过程-介绍以及基本语法(特点、创建、调用、查看、删除、示例)
目录 介绍 特点 基本语法 创建 调用 查看 删除 示例 介绍 存储过程是事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理…...
基础课15——语音标注
语音数据标注是对语音数据进行处理和分析的过程,目的是让人工智能系统能够理解和识别语音中的信息。这个过程包括了对语音信号的预处理、特征提取、标注等步骤。 在语音数据标注中,标注员需要对语音数据进行分类、切分、转写等操作,让人工智…...
Linux启动故障排错
Linux启动过程 开机流程、模块管理-CSDN博客 Grub三个阶段 1st stage:执行Grub主程序。Grub安装在MBR。由于MBR太小,所以与配置文件分开放1.5 stage:识别不同的文件系统2nd stage:加载Grub配置文件 /boot/grub2/grub.cfg。配置…...
全新二开游戏支付通道/话费/电网、紫水晶带云端源码
源码修复可用,YY业务都可用 本店所售程序只供测试研究,不得使用于非法用途,不得违反国家法律,不得用于进行违法行为,否则后果自负!购买以后用作他用附带的一切法律责任后果都由购买者承担于本店无任何关…...
Hadoop相关知识点
文章目录 一、主要命令二、配置虚拟机2.1 设置静态ip2.2 修改主机名及映射2.3 修改映射2.4 单机模式2.5 伪分布式2.6 完全分布式 三、初识Hadoop四、三种模式的区别4.1、单机模式与伪分布式模式的区别4.2、特点4.3、配置文件的差异4.3.1、单机模式4.3.2、伪分布式模式4.3.3、完…...
Javassist讲解1(介绍,读写字节码)
Javassist讲解1(介绍,读写字节码) 介绍一、读写字节码1.如何创建新的类2.类冻结 介绍 javassist 使Java字节码操作变得简单,它是一个用于在Java中编辑字节码的类库; 它使Java程序能够在运行时定义一个新类,…...
【Linux】常见指令以及具体其使用场景
君兮_的个人主页 即使走的再远,也勿忘启程时的初心 C/C 游戏开发 Hello,米娜桑们,这里是君兮_,随着博主的学习,博主掌握的技能也越来越多,今天又根据最近的学习开设一个新的专栏——Linux,相信Linux操作系…...
后台管理(二)
1、权限控制 如果没有权限控制,系统的功能完全不设防,全部暴露在所有用户面前。用户登录以后可以使用系统中的所有功能。这是实际运行中不能接受的,所以权限控制系统的目标就是管理用户行为,保护系统功能。 1.1、 定义资源 资源就…...
反转链表II(C++解法)
题目 给你单链表的头指针 head 和两个整数 left 和 right ,其中 left < right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 。 示例 1: 输入:head [1,2,3,4,5], left 2, right 4 输出:[1…...
记一次 logback 没有生成独立日志文件问题
背景 在新项目发布后发现日志文件并没有按照期望的方式独立开来,而是都写在了 application.log 文件中。 问题展示 日志文件: 项目引入展示: <include resource"paas/sendinfo/switch/client/sendinfo-paas-switch-client-log.…...
数据库强化(1.视图)
1.什么是视图 视图是指计算机数据库中的视图,是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的…...
Pixel Language Portal 在Ubuntu上部署OpenClaw:命令详解与问题排查
Pixel Language Portal 在Ubuntu上部署OpenClaw:命令详解与问题排查 1. 引言 如果你正在Ubuntu系统上尝试部署OpenClaw,可能会遇到各种依赖问题和复杂的命令行操作。本文将带你一步步完成整个部署过程,并提供常见问题的解决方案。 OpenCla…...
HG-ha/MTools性能调优:Windows DirectML最佳实践
HG-ha/MTools性能调优:Windows DirectML最佳实践 本文介绍如何通过DirectML加速技术,让HG-ha/MTools在Windows平台上获得最佳性能表现 1. 认识HG-ha/MTools的强大功能 HG-ha/MTools是一款功能全面的现代化桌面工具集,它集成了图片处理、音视…...
Flowable任务超时监控与自动化处理实战
1. 为什么需要Flowable任务超时监控? 在实际业务流程中,任务超时是个常见但容易被忽视的问题。想象一下,你提交了一个采购审批流程,但审批人迟迟没有处理,导致整个采购计划被耽误。这种情况在企业内部每天都在发生&…...
Topeka Android应用终极部署指南:从源码编译到多渠道分发的完整教程
Topeka Android应用终极部署指南:从源码编译到多渠道分发的完整教程 【免费下载链接】topeka A fun to play quiz that showcases material design on Android 项目地址: https://gitcode.com/gh_mirrors/to/topeka Topeka是一款基于Material Design设计理念…...
六挡手动齿轮变速器设计【说明书、CAD图纸、 开题报告、任务书 ……】
六挡手动齿轮变速器作为汽车传动系统的核心部件,其设计需兼顾动力传递效率与驾驶操控性。该变速器通过齿轮组的啮合与分离实现六个前进挡位的切换,每个挡位对应不同的齿轮传动比,既能满足车辆起步时的大扭矩需求,也能在高速巡航时…...
OpenClaw会议纪要自动化:Qwen3.5-9B实时转录与待办项提取
OpenClaw会议纪要自动化:Qwen3.5-9B实时转录与待办项提取 1. 为什么需要会议纪要自动化 每周三的团队例会总是让我头疼——90分钟的会议结束后,我需要花40分钟整理录音、标记关键决议、分配待办事项。直到上个月用OpenClawQwen3.5-9B搭建了自动化流程&…...
(学习笔记)3.11 浮点代码(3.11.1 浮点传送和转换操作)
文章目录线索栏笔记栏总结栏线索栏 x86-64浮点体系结构经历了哪几个关键发展阶段?当前的AVX2架构提供了哪些寄存器(YMM/XMM)?它们的位宽和用途是什么?(图1,2)用于在内存和XMM寄存器之间、以及X…...
小型团队应用:3人使用OpenClaw+SecGPT-14B协作安全审计
小型团队应用:3人使用OpenClawSecGPT-14B协作安全审计 1. 为什么我们需要协作式安全审计工具 去年我们团队接手了一个金融系统的安全审计项目,三个人需要在一周内完成代码审计、漏洞扫描和报告撰写。最初我们尝试用传统方式:各自用本地工具…...
Linux内核中的虚拟化技术
Linux内核中的虚拟化技术 引言 虚拟化技术是一种将物理资源抽象为虚拟资源的技术,它允许多个操作系统或应用程序在同一物理硬件上运行。Linux内核提供了丰富的虚拟化支持,包括KVM、容器、虚拟内存等。本文将深入探讨Linux内核中的虚拟化技术,…...
BilibiliDown高效视频下载指南:全面掌握B站视频离线解决方案
BilibiliDown高效视频下载指南:全面掌握B站视频离线解决方案 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mir…...
