tkmybatis逆向工程关于tinyint的玄学问题
数据库中存储的数据类型是tinyint(1)
| state | tinyint(1) | 状态0-未完成;1-待提交;2-待支付;3支付失败; | 不为空 |
tinyint(1)存储的时候会存储下面长度的数字
但是在生成逆向工程的时候会生成为boolean类型

做了下面的修改
<result column="state" property="state" jdbcType="TINYINT" />
将生成的实体类,返回类型修改为int类型
但是这个时候出问题了,插入sql的时候自动将state存储为0

哪怕我存储的时候是2,到数据库中也变成了0
我这边找了下日志发现,实际插入调用mapper.insert的时候
自动跳过了,我设置的state字段,inset自动剔除了这个字段,所以我封装对象,插入的时候相当于插入了0
面对bug的我不由陷入了沉思.
第一次排查
state是后续添加的字段,我没有在新的参数上面加注解与数据库映射
一脸的黑人问号,
@Column(name = "state")

添加完注解,继续debug,依旧出错
第二次排查
最后发现是DAO 与生成的实体类类型不一致,所以赋值失败,最后问题解决
个人建议吧:tinyint(1)尽量只存bool类型的数据,不然逆向工程的时候也是让人头大,还会出现各种问题,能够工具生成的代码,非要让人手动修改,当然会出现各种问题

tkmybatis逆向工程关于tinyint的玄学问题的更多相关文章
- Mybatis逆向工程和新版本MybatisPlus3.4逆向工程的使用
Mybatis和MybatisPlus3.4的使用 目录 Mybatis和MybatisPlus3.4的使用 1 RESTFUL 2 逆向工程 2.1 tkMybatis逆向工程 2.1.1 导入依赖 ...
- mybatis逆向工程介绍
项目的model一旦多了起来,复杂了起来,我们很自然的想到使用mybatis的逆向工程来生成相应的pojo和mapper,能节省很多精力. MyBatis Generator(MBG)是 MyBati ...
- SpringBoot 3.SpringBoot 整合 MyBatis 逆向工程以及 MyBatis 通用 Mapper
一.添加所需依赖,当前完整的pom文件如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=&qu ...
- MyBatis逆向工程详细教程
1 导入逆向工程到eclipse中 2 修改配置文件 注意修改以下几点: 修改要生成的数据库表 pojo文件所在包路径 Mapper所在的包路径 配置文件如下: <?xml version=&q ...
- TKmybatis的框架介绍和原理分析及Mybatis新特性
tkmybatis是在mybatis框架的基础上提供了很多工具,让开发更加高效,下面来看看这个框架的基本使用,后面会对相关源码进行分析,感兴趣的同学可以看一下,挺不错的一个工具 实现对员工表的增删改查 ...
- TKmybatis的框架介绍和原理分析及Mybatis新特性演示
tkmybatis是在mybatis框架的基础上提供了很多工具,让开发更加高效,下面来看看这个框架的基本使用,后面会对相关源码进行分析,感兴趣的同学可以看一下,挺不错的一个工具 实现对员工表的增删改查 ...
- 解决tinyint映射成boolean/byte的问题
前言 最近受疫情的影响,公司要做一个类似一码通的系统为客户服务.由我来进行表的设计.创建表之后需要逆向生成Java的entity.mapper.mapper.xml.由于我在数据库中定义了大量 tin ...
- IDEA 中生成 MyBatis 逆向工程实践
IDEA 逆向 MyBatis 工程时,不像支持 Hibernate 那样有自带插件,需要集成第三方的 MyBatis Generator. MyBatis Generator的详细介绍 http:/ ...
- Navicat软件中mysql中int、bigint、smallint和tinyint的区别、布尔类型存储以及乱码问题的解决
很长时间不写博客了,最近一直在忙这学校的比赛都忘记更新博客了.新的任务又要开始了,我们要准备<2017年中国大学生计算机设计大赛软件服务外包竞赛>.这次不能再想像之前那样有PC端的功能作为 ...
随机推荐
- O058、Snapshot Volume 操作
参考https://www.cnblogs.com/CloudMan6/p/5657744.html Snapshot 可以为 volume 创建快照,快照中保存了 volume当前的状态,以后可 ...
- Lab 色彩模型和取值范围
L∈(0,100) a∈(-128,127) b∈(-128,127) opencv 的Lab数据对齐做了量化,使其处于0-255范围 L=L*2.55 a=a+128 b=b+128
- node 基本搭建 server.js
const express = require('express'); const expressStatic = require('express-static'); const bodyparse ...
- 【Git的基本操作四】永久删除文件后找回
永久删除文件后找回 1. 已经添加到本地库的文件 使用 reset 命令回退到未删除的历史记录即可 2.添加到缓存区,没有提交到本地库的文件找回 git reset --hard HEAD 命令即可找 ...
- MYSQL 修改语句(数据)
修改数据(UPDATE) 如果你失忆了,希望你能想起曾经为了追求梦想的你. 我们玩QQ.微信.淘宝等等,都会有一个操作:修改信息 淘宝常用的嘛,新增了收货地址,也可以修改它,微信/ ...
- Struts简介
一.简介 Apache Struts 2最初被称为WebWork 2,它是一个简洁的.可扩展的框架,可用于创建企业级Java web应用程序.设计这个框架是为了从构建.部署.到应用程序维护方面来简化整 ...
- mysql sleep 死锁例子
表结构 CREATE TABLE `orders` ( `order_id` int(11) NOT NULL, `order_addr` varchar(255) DEFAULT NULL ) EN ...
- centos 7 OpenResty®(lua-nginx-module)搭建可扩展的Web平台
OpenResty®-英文官网地址:http://openresty.org/en/ OpenResty®-中文官网地址: http://openresty.org/cn/ OpenResty®> ...
- linux基础—课堂随笔08_进程(转)
进程优先级 命令 pstree -p 显示各个子线程 ps 进程状态(process state) UNIX风格:ps -ef BSD风格:ps aux 还有用到o参数,选项显示定制的信息: pid. ...
- python zip用法
import requests url = "https://magi.com/search" querystring = {"q":"堕却乡&quo ...