# 常见问题

# 1. Exception:The server time zone value 'xxx' is unrecognized or represents more than one time zone.

# 报错日志包含如下信息:

Exception:
### Error querying database.  Cause: java.sql.SQLException: The server time zone value 'xxx' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.

# 解决方法:Mysql 数据库配置需增加后缀

db.url=jdbc:mysql://localhost:3306/tableName?useUnicode=true&characterEncoding=utf-8&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai

# 2. ORA-12505, TNS:listener does not currently know of SID given in connect descriptor

# 报错日志包含如下信息:

Exception:
### Error querying database.  Cause: java.sql.SQLException: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
……

# 解决方法:Oracle 的数据库 SID 配置有误

例如 SID 为 test ,则配置项如下:

db.url=jdbc:oracle:thin:@192.168.0.1:1521:test

# 3. 不支持的字符集(在类路径中添加 orai18n.jar)

# 报错日志包含如下信息:

Exception:
### Error querying database.  Cause: org.apache.ibatis.executor.result.ResultMapException: Error attempting to get column 'TABLESCHEMA' from result set.  Cause: java.sql.SQLException: 不支持的字符集 (在类路径中添加 orai18n.jar): ZHS16GBK
……

# 解决方法:需添加如下依赖

<dependency>
  <groupId>cn.easyproject</groupId>
  <artifactId>orai18n</artifactId>
  <version>12.1.0.2.0</version>
</dependency>

# 4. 错误码:00001

# 报错日志包含如下信息:

错误码:00001, 错误信息:初始化配置失败!

# 解决方法:

第一步:检查以下必选项是否配置

########## 必选配置 start ###########
# 数据库配置  可选值 MYSQL ORACLE, 以 MYSQL 为例
db.type=MYSQL
# 驱动包路径
db.driver=com.mysql.cj.jdbc.Driver
# 数据库链接 需改为你的数据库链接
db.url=jdbc:mysql://localhost:3306/test?useUnicode=true&serverTimezone=Asia/Shanghai
# 表空间 如 sql 为 select * from github.demo; 则 github 为表空间
db.table-schema=test
# 数据库用户名
db.username=你的数据库用户名
# 数据库密码
db.password=你的数据库密码
########## 必选配置 end ###########

第二步:如果必选配置全部配置,检查传入配置文件路径是否正确,配置文件名是否正确。

Generator generator = new GeneratorBuilder().build("config.properties");

第三步:如果使用配置文件的方式一直失败,可切换为无需配置文件方式,参考 快速开始 (opens new window)

# 5. 错误码:00002

# 报错日志包含如下信息:

错误码:00002, 错误信息:请检查是否添加对应数据库驱动依赖!

# 解决方法:

根据需要添加对应的数据库驱动依赖

Maven 官方仓库地址: https://search.maven.org/search (opens new window)

# 6. 错误码:00003

# 报错日志包含如下信息:

错误码:00003, 错误信息:请检查数据库配置信息是否正确。

# 解决方法:

检查数据库链接、用户名、密码配置是否正确。

# 7. 错误码:00004

# 报错日志包含如下信息:

错误码:00004, 错误信息:请检查数据库配置信息是否正确。

# 解决方法:

需设置日志级别为 DEBUG ,再次运行程序,查看详细堆栈,设置如下

java 方式:

new GeneratorBuilder()
  .properties("generate.log.level=DEBUG")
  .build();

配置文件方式,在配置文件添加如下配置:

generate.log.level=DEBUG

根据堆栈信息在本页查找解决办法。

如果未查找到解决办法,可将报错详细信息提 ISSUE (opens new window) 反馈。

# 8. 错误码:10001

# 报错日志包含如下信息:

错误码:10001, 错误信息:该版本暂未内置数据库[xxx]类型和 Java 类型的映射关系!

# 解决方法:

以 bit 类型为例,假如需要映射到实体类中为 String 类型,则需如下设置

	 new GeneratorBuilder().fieldType2JavaType("bit", String.class).build();

详细扩展参考文档: http://zhuyizhuo.online/code-generator-doc/guide/extension.html (opens new window)

如需内置此类型映射,可在这里 ISSUE (opens new window) 反馈。

# 9. 错误码:10002

# 报错日志包含如下信息:

错误码:10002, 错误信息:该版本暂未内置数据库[xxx]类型和 Mybatis XML 中 JdbcType 的映射关系!

# 解决方法:

例如 :将 [bit]类型映射为 VARCHAR 类型如下 :

	 new GeneratorBuilder().fieldType2JdbcType("bit", JdbcType.VARCHAR).build();

详细扩展参考文档: http://zhuyizhuo.online/code-generator-doc/guide/extension.html (opens new window)

如需内置此类型映射,可在这里 ISSUE (opens new window) 反馈。