mybatis-generator代码生成(支持自定义类型转换)

本文介绍了如何在Mybatis Generator中实现自定义类型转换,特别是将Mysql的tinyint类型转换为Java中的Integer类型。通过创建一个继承自JavaTypeResolverDefaultImpl的类并重写构造器,然后在配置文件中指定自定义类型解析器,可以实现所需转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前面我写过一个通过插件方式生成Dao接口代码(参考链接地址:https://blog.csdn.net/lichuangcsdn/article/details/80873229),但没找到自定义类型转换的方法,比如
默认是将Mysql中tinyint类型转换为java中的Byte字段,但通常我们需求一般是将tinyint转换为java中的Integer类型,所以需要自己写个类型转换组件了。
主要思路:
一、是重写一个类,继承org.mybatis.generator.internal.types. JavaTypeResolverDefaultImpl这个类,在构造器中添加如下代码
super.typeMap.put(-6, new JavaTypeResolverDefaultImpl.JdbcTypeInformation("TINYINT", new FullyQualifiedJavaType(Integer.class.getName())));
二、然后在XML配置文件中加入如下配置
<javaTypeResolver type="com.example.plugin.MyJavaTypeResolver">
    <property name="forceBigDecimals" value="false"></property>
</javaTypeResolver>
完整代码如下:
1、首先在IDEA中创建好一个 maven工程,pom.xml如下

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>

   <groupId>com.example</groupId>
   <artifactId>myproject</artifactId>
   <version>0.0.1-SNAPSHOT</version>
   <packaging>jar</packaging>

   <name>myproject</name>
   <description>Demo project for Spring Boot<
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值