千家信息网

如何解决Mybatis Generator将tinyint映射为Byte和Boolean的问题

发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,小编给大家分享一下如何解决Mybatis Generator将tinyint映射为Byte和Boolean的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大
千家信息网最后更新 2025年02月05日如何解决Mybatis Generator将tinyint映射为Byte和Boolean的问题

小编给大家分享一下如何解决Mybatis Generator将tinyint映射为Byte和Boolean的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

1. 对于tinyint(4)映射为Byte

1.1 环境
  • spring boot 2.1.x

  • mybatis

  • tk.mybatis

  • mysql

1.2 自定义类型解析器

(1) 新建以下类

public class CustomerJavaTypeResolver extends JavaTypeResolverDefaultImpl {    public CustomerJavaTypeResolver() {        super();        //把数据库的 TINYINT 映射成 Integer        super.typeMap.put(Types.TINYINT, new JavaTypeResolverDefaultImpl.JdbcTypeInformation("TINYINT", new FullyQualifiedJavaType(Integer.class.getName())));    }}

(2)在pom.xml中加入

                                    org.mybatis.generator                mybatis-generator-maven-plugin                1.3.6                                                            mysql                        mysql-connector-java                        5.1.29                                                                                    com.taco.cloud                        -generator-core                        1.0-SNAPSHOT                                                                tk.mybatis                        mapper                        4.1.5                                                                                                            true                                        true                                                                src/main/resources/mybatis-generator.xml                                        

(3)修改mybatis-generator.xml文件,加入

                                

2. 对于tinyint(1)映射为Boolean情况

2.1 解决方法
  1. JDBC的URL增加 tinyInt1isBit=false参数,注意参数名区分大小写,否则不生效

    例如:jdbc:mysql://${ucmha.proxy1_2.host}/${db.mysql.db}?tinyInt1isBit=false

  2. 用tinyint(2)代替

以上是"如何解决Mybatis Generator将tinyint映射为Byte和Boolean的问题"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0