Mybatis Generator 获取不到字段注释
来源:互联网 发布:linux 模糊搜索文件 编辑:程序博客网 时间:2024/05/22 12:49
前言
环境限制,暂时只提供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");//OracledbConn = DriverManager.getConnection(url, props);DatabaseMetaData dbmd = dbConn.getMetaData();
这样通过JDBC就能获取到表或者字段的注释了.
那么在MBG中怎么设置呢?总不能去改源码吧.其实MBG自身已经提供了解决方法.
我们先来看下MBG连接数据库的代码,可以在org.mybatis.generator.internal.JDBCConnectionFactory
中找到:
//以下代码来自Mybatis Generator 1.3.5/** * This constructor is called when there is a JDBCConnectionConfiguration * specified in the configuration. * * @param config */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 获取不到字段注释
- MYBATIS-GENERATOR获取不到注释
- mybatis-generator获取sqlServer字段注释并修改生成的实体类属性的注释
- mybatis-generator 去除注释
- mybatis generator去掉注释
- Mybatis generator eclipse插件从数据库获取注释
- mybatis-generator自定义注释生成
- 解决mybatis-generator-core 中数据库字段注释remarks读不出来的问题
- mybatis-generator中文注释版本(绿色版)
- 关于mybatis-generator中文注释 乱码解决
- mybatis generator 生成数据库注释等问题
- mybatis-generator扩展-自定义代码注释
- MyBatis Generator关于注释的生成
- mybatis generator 生成数据库注释DAO源码
- mysql 获取表注释 字段注释
- jdbc获取Oracle字段注释
- mybatis-generator 自增长ID 的获取
- mybatis generator 启动时出错:注释中不允许出现字符串 "--"
- 继承、实现、依赖、关联、聚合、组合的联系与区别
- Android自定义Dialog控制
- (快速入门4)创建 Hello World
- Linux环境下使用git提交更新代码
- Struts2文件下载(版本更新)
- Mybatis Generator 获取不到字段注释
- 工厂模式
- python中内建函数isinstance的用法
- 控制横竖屏显示不同界面
- RecyclerView分割线
- BottomDialog 一个自定义的从底部弹出的 dialog,仿照微博的分享弹框
- The request sent by the client was syntactically incorrect.
- Maven创建Web项目,jsp引入静态文件提示报错(javax.servlet.ServletException cannot be resolved to a type ) 解决办法
- 有return的情况下try catch finally的执行顺序