数据库中存储的数据类型是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的玄学问题的更多相关文章

  1. Mybatis逆向工程和新版本MybatisPlus3.4逆向工程的使用

    Mybatis和MybatisPlus3.4的使用 目录 Mybatis和MybatisPlus3.4的使用 1 RESTFUL 2 逆向工程 2.1 tkMybatis逆向工程 2.1.1 导入依赖 ...

  2. mybatis逆向工程介绍

    项目的model一旦多了起来,复杂了起来,我们很自然的想到使用mybatis的逆向工程来生成相应的pojo和mapper,能节省很多精力. MyBatis Generator(MBG)是 MyBati ...

  3. SpringBoot 3.SpringBoot 整合 MyBatis 逆向工程以及 MyBatis 通用 Mapper

    一.添加所需依赖,当前完整的pom文件如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=&qu ...

  4. MyBatis逆向工程详细教程

    1 导入逆向工程到eclipse中 2 修改配置文件 注意修改以下几点: 修改要生成的数据库表 pojo文件所在包路径 Mapper所在的包路径 配置文件如下: <?xml version=&q ...

  5. TKmybatis的框架介绍和原理分析及Mybatis新特性

    tkmybatis是在mybatis框架的基础上提供了很多工具,让开发更加高效,下面来看看这个框架的基本使用,后面会对相关源码进行分析,感兴趣的同学可以看一下,挺不错的一个工具 实现对员工表的增删改查 ...

  6. TKmybatis的框架介绍和原理分析及Mybatis新特性演示

    tkmybatis是在mybatis框架的基础上提供了很多工具,让开发更加高效,下面来看看这个框架的基本使用,后面会对相关源码进行分析,感兴趣的同学可以看一下,挺不错的一个工具 实现对员工表的增删改查 ...

  7. 解决tinyint映射成boolean/byte的问题

    前言 最近受疫情的影响,公司要做一个类似一码通的系统为客户服务.由我来进行表的设计.创建表之后需要逆向生成Java的entity.mapper.mapper.xml.由于我在数据库中定义了大量 tin ...

  8. IDEA 中生成 MyBatis 逆向工程实践

    IDEA 逆向 MyBatis 工程时,不像支持 Hibernate 那样有自带插件,需要集成第三方的 MyBatis Generator. MyBatis Generator的详细介绍 http:/ ...

  9. Navicat软件中mysql中int、bigint、smallint和tinyint的区别、布尔类型存储以及乱码问题的解决

    很长时间不写博客了,最近一直在忙这学校的比赛都忘记更新博客了.新的任务又要开始了,我们要准备<2017年中国大学生计算机设计大赛软件服务外包竞赛>.这次不能再想像之前那样有PC端的功能作为 ...

随机推荐

  1. python 列表反转

    反转: 将原列表反转,返回None: li = [1, 2, 3]li.reverse()print(li)# [3, 2, 1]1234不改变原列表,返回反转后的新列表: li = [1, 2, 3 ...

  2. python中获取当前位置所在的行号和函数名(转)

    http://www.vimer.cn/2010/12/%E5%9C%A8python%E4%B8%AD%E8%8E%B7%E5%8F%96%E5%BD%93%E5%89%8D%E4%BD%8D%E7 ...

  3. 一种移动端position:absolute布局:

    一种移动端position:absolute布局:   1.他父级不需要加上 position:relative; 如果父级不是不是body,则加position:absolute; 2.红色加量部分 ...

  4. Java学习笔记【七、时间、日期、数字】

    参考:http://www.runoob.com/java/java-date-time.html Date类 构造: Date() 使用当前的日期时间 Date(long millisec) 197 ...

  5. 第三篇.python编辑器和集成环境01

    修改python的镜像源 使用pip可以提高网速 \Lib\site-packages\pip\models\index.py文件,将PYPI的值改为你所需要的镜像源即可,例如改为豆瓣镜像源: #Py ...

  6. SpringMVC----视图层框架

    Spring Web模型-视图-控制器(MVC)框架是围绕DispatcherServlet设计的,DispatcherServlet将接收的请求分派给应用程序.SpringMVC具有配置处理程序映射 ...

  7. deep_learning_Activate_method

    常见的激活函数有sigmoid.tanh和relu三种非线性函数,其数学表达式分别为: sigmoid: y = 1/(1 + e-x) tanh: y = (ex - e-x)/(ex + e-x) ...

  8. fragment初步认识

  9. Linux命令手册man

    命令手册:manualman COMMANDman 2 read whatis COMMAND:查看命令有几个章节 man分章节:常见章节有8个,1:用户命令2:系统调用3:库用户4:特殊文件(设备文 ...

  10. pycharm 安装 tensorflow

    1. 安装python 3.5  链接:https://www.python.org/downloads/release/python-352/ 1.1如果之前安装了其他版本的,可以在你需要的项目中, ...