iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Mybatis Generator 获取不到字段注释的解决
  • 382
分享到

Mybatis Generator 获取不到字段注释的解决

2024-04-02 19:04:59 382人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录mybatis Generator 获取不到字段注释解决方法oracle 数据库Mysql 数据库详解mybatis-generator生成数据表中注释1.克隆项目2.修改pom

Mybatis Generator 获取不到字段注释

环境限制,暂时只提供Oracle和mysql的解决方法,其它数据库如果遇到同样问题,原理是一样的,具体就看该数据库应当去配置哪个属性.

解决方法

下面的配置均指的是Mybatis Generator 的配置文件(一般是叫generatorConfig.xml)的配置:

Oracle 数据库


<jdbcConnection driverClass="${driver}"
    connectionURL="{url}" userId="${username}" passWord="${password}">
    <!-- 针对oracle数据库 -->
    <property name="remarksReporting" value="true"></property>
</jdbcConnection>

Mysql 数据库

方法1


<jdbcConnection driverClass="${driver}"
    connectionURL="{url}" userId="${username}" password="${password}">
    <!-- 针对mysql数据库 -->
    <property name="useInfORMationSchema" value="true"></property>
</jdbcConnection>

方法2

mysql的connectionURL中添加 useInformationSchema=true.大体上就是:


connectionURL="jdbc:mysql://127.0.0.1:3306/test?characterEncoding=UTF-8&useInformationSchema=true"

两种方法任选其一.

详解

MBG访问数据库也是通过JDBC进行,而通过JDBC连接Oracle、Mysql(其它数据库暂不清楚)时,想获取到表及字段注释是需要额外设置一些连接属性的.一般大体上都是如下的代码(以Oracle为例):


Properties props =newProperties();
props.put("remarksReporting","true");//Oracle
dbConn = DriverManager.getConnection(url, props);
DatabaseMetaData dbmd = dbConn.getMetaData();

这样通过JDBC就能获取到表或者字段的注释了.

那么在MBG中怎么设置呢?总不能去改源码吧.其实MBG自身已经提供了解决方法.

我们先来看下MBG连接数据库的代码,可以在org.mybatis.generator.internal.JDBCConnectionFactory中找到:


//以下代码来自Mybatis Generator 1.3.5

public JDBCConnectionFactory(JDBCConnectionConfiguration config) {
    super();
    userId = config.getUserId();
    password = config.getPassword();
    connectionURL = config.getConnectionURL();
    driverClass = config.getDriverClass();
    otherProperties = config.getProperties();//注意此行
}
public Connection getConnection()
        throws SQLException {
    Driver driver = getDriver();
    Properties props = new Properties();
    if (stringHasValue(userId)) {
        props.setProperty("user", userId); //$NON-NLS-1$
    }
    if (stringHasValue(password)) {
        props.setProperty("password", password); //$NON-NLS-1$
    }
    props.putAll(otherProperties);//注意此行
    Connection conn = driver.connect(connectionURL, props);
    if (conn == null) {
        throw new SQLException(getString("RuntimeError.7")); //$NON-NLS-1$
    }
    return conn;
}

通过上面代码(尤其是我加了注意此行注释的两行代码)我们可以看到,MBG在建立连接时,是把JDBCConnectionConfiguration中的所有properties给设置进去了.那么显然我们只需要找到在哪配置这些properties就行了.

JDBCConnectionConfiguration对应到XML配置里就是jdbcConnection节点.

再来看看官方的使用文档,官方文档关于jdbcConnection (点击查看) 一节中 <property>子元素的说明:

<property> (0..N) Note: any properties specified here will be added to the properties of the JDBC driver.

那么在配置文件中我们如下改动即可:


<jdbcConnection driverClass="${driver}"
    connectionURL="{url}" userId="${username}" password="${password}">
    <!-- 针对oracle数据库 -->
    <property name="remarksReporting" value="true"></property>
</jdbcConnection>

关于如何生成自定义注释,参见 mybatis-generator自定义注释生成

mybatis-generator生成数据表中注释

1.克隆项目

jar

git clone https://GitHub.com/backkoms/mybatis-generator-comments.git

编译打包,install到本地或delopy私服库中均可。

2.修改pom文件


         <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-Maven-plugin</artifactId>
                <version>${plugins-mybatis-generator.version}</version>
                <configuration>
                    <verbose>true</verbose>
                    <overwrite>true</overwrite>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>com.haier.hairy</groupId>
                        <artifactId>mybatis-generator-core</artifactId>
                        <version>1.0.1</version>
                    </dependency>
                </dependencies>
          </plugin>

3.配置对应的解析生成包


<commentGenerator type="org.mybatis.generator.internal.CustomeCommentGenerator">
     <property name="javaFileEncoding" value="UTF-8"/>
     <property name="suppressDate" value="true" />
     <property name="suppressAllComments" value="false" />
</commentGenerator>

执行命令:mvn mybatis-generator:generate

查看执行生成文件

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: Mybatis Generator 获取不到字段注释的解决

本文链接: http://www.lsjlt.com/news/135071.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Mybatis Generator 获取不到字段注释的解决
    目录Mybatis Generator 获取不到字段注释解决方法Oracle 数据库MySql 数据库详解mybatis-generator生成数据表中注释1.克隆项目2.修改pom...
    99+
    2024-04-02
  • mybatis实体类字段获取不到值怎么解决
    这篇文章主要介绍“mybatis实体类字段获取不到值怎么解决”,在日常操作中,相信很多人在mybatis实体类字段获取不到值怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mybatis实体类字段获取不...
    99+
    2023-06-21
  • mybatis 实体类字段大小写问题 字段获取不到值的解决
    目录mybatis实体类字段大小写问题 字段获取不到值解决办法推断踩坑mybatis 转换大小写问题解决方法mybatis实体类字段大小写问题 字段获取不到值 由于前期设计问题,项目...
    99+
    2024-04-02
  • mybatis实体类字段大小写及字段获取不到值问题
    目录mybatis实体类字段大小写及字段获取不到值问题解决办法推断mybatis下部分字段值无法获取(null)解决之前解决方法mybatis实体类字段大小写及字段获取不到值 问题 ...
    99+
    2024-04-02
  • kettle表输出获取不到字段怎么解决
    如果无法获取到字段的数据,可能是由于以下几种原因导致的:1. 字段名称错误:请确保你使用的字段名称是正确的,包括大小写和拼写。2. ...
    99+
    2023-09-20
    kettle
  • mybatis获取不到参数怎么解决
    如果使用MyBatis无法获取到参数,可以按照以下步骤解决问题:1. 检查Mapper接口或XML文件中的方法参数名是否与传入的参数...
    99+
    2023-08-19
    mybatis
  • mybatis 获取无数据的字段不显示的问题
    mybatis 获取无数据的字段不显示 使用mybatis-plus获取数据时,当返回值为map类型,数据库字段的值为空时,不显示该字段,这样容易导致前台获取数据的时候报空指针异常 ...
    99+
    2024-04-02
  • 解决mybatis-generator生成器添加类注释方法无效的问题
    遇到的问题! 注:自定义CommentGenerator的都知道 通过实现CommentGenerator接口的一些不足,毕竟只是实现了CommentGenerator接口,在里面的...
    99+
    2024-04-02
  • 如何解决mybatis-generator生成器添加类注释方法无效的问题
    本篇内容主要讲解“如何解决mybatis-generator生成器添加类注释方法无效的问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决mybatis-generator生成器添加类注释...
    99+
    2023-06-20
  • nacos中使用@Value注解获取不到值如何解决
    这篇文章主要介绍了nacos中使用@Value注解获取不到值如何解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇nacos中使用@Value注解获取不到值如何解决文章都会有所收获,下面我们一起来看看吧。可能导...
    99+
    2023-07-05
  • mybatis中@Param注解总是报取不到参数问题及解决
    目录@Param注解总是报取不到参数错误如下@Param注解详细使用方法1.@Param这个注解是用来解决接口方法有多个参数时2.可以修饰JavaBean对象、Map集合等3.@Pa...
    99+
    2024-04-02
  • session获取不到值如何解决
    如果在session中无法获取到值,可能是由于以下几个原因:1. 会话过期:会话可能已经过期,导致无法获取到值。可以尝试重新登录或延...
    99+
    2023-09-14
    session
  • 解决ThreadLocal获取不到值大坑
    目录1:问题起因2:问题复现3:分析问题4:如何解决1:问题起因 今天项目上测试环境,再给领导演示的时候出现了bug,很尴尬。于是我跟前端同学通过模拟请求,最后发现在调一个接口的时候...
    99+
    2023-05-19
    ThreadLocal获取不到值解决的 ThreadLocal坑
  • Mybatis的sql注释问题怎么解决
    这篇文章主要介绍“Mybatis的sql注释问题怎么解决”,在日常操作中,相信很多人在Mybatis的sql注释问题怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mybatis的sql注释问题怎么解决...
    99+
    2023-07-02
  • php中获取不到cookie的解决方法
    这期内容当中小编将会给大家带来有关php中获取不到cookie的解决方法,以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。setcookie()的默认路径是当前目录下,如果其他目录要访问这个Cookie是访问不到的如果该参...
    99+
    2023-05-31
    php cookie coo
  • MyBatis-plus数据库字段排序不准确的解决
    目录MyBatis-plus数据库字段排序不准确例如:12还没有8,4,2大,这就很郁闷了解决方案Mybatis-plus遇到的坑1. 数据库映射枚举2. 自增主键3. mybati...
    99+
    2024-04-02
  • 解决使用mybatis取值,字段赋值错误的问题
    目录使用mybatis取值,字段赋值错误mybatis映射赋值失败错误输出错误造成原因解决方法使用mybatis取值,字段赋值错误  我在读取数据库的表信息时,出现了不同字...
    99+
    2024-04-02
  • mybatis中@Param注解总是报取不到参数问题如何解决
    这篇文章主要介绍“mybatis中@Param注解总是报取不到参数问题如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“mybatis中@Param注解总是报取不到参数问题如何解决”文章能帮助大...
    99+
    2023-07-02
  • Spring注解@Value在controller无法获取到值的解决
    目录一、前言二、properties加入到Spring容器中有两种方式1、以注入bean的形式2、以下面这种形式三、将properties注册到Spring容器1、weixin.pr...
    99+
    2024-04-02
  • php exec获取不到值怎么解决
    这篇文章主要讲解了“php exec获取不到值怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php exec获取不到值怎么解决”吧!php exec获取不到值的解决办法:1、打开相应...
    99+
    2023-06-25
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作