什么是逆向工程:
        mybatis需要程序员自己编写sql语句,mybatis官方提供逆向工程,可以针对单表自动生成mybatis执行所需要的代码(mapper.java、mapper.xml、pojo…),可以让程序员将更多的精力放在繁杂的业务逻辑上。

企业实际开发中,常用的逆向工程方式:由数据库的表生成java代码。

之所以强调单表两个字,是因为Mybatis逆向工程生成的Mapper所进行的操作都是针对单表的,也许你可能会觉得那这就有点鸡肋了,但是在大型项目中,很少有复杂的多表关联查询,所以作用还是很大的。

jeecgframework集成了baomidou提供的mybatisplus,同样也可以通过逆向工程根据数据表生成相关代码。

jeecg_database.properties 以mysql为例:

diver_name=com.mysql.jdbc.Driver
url=jdbc:mysql://192.168.*.*:3306/car?useUnicode=true&characterEncoding=UTF-8&useSSL=false
username=root
password=dp@ssord
database_name=car

jeecg_config.properties

#code_generate_project_path
project_path=D:\\SourceProject\\car
#bussi_package[User defined]
bussi_package=org.jeecg.modules.demo #default code path
#source_root_package=src
#webroot_package=WebRoot #maven code path
source_root_package=src.main.java
webroot_package=src.main.webapp #ftl resource url
templatepath=/jeecg/code-template
system_encoding=utf-8 #db Table id [User defined]
db_table_id=id #db convert flag[true/false]
db_filed_convert=true #page Search Field num [User defined]
page_search_filed_num=1
#page_filter_fields
page_filter_fields=update_time,service_id

运行生成器 SysOneGUI.java:

输入包名、对应的实体类名、数据表名、描述。如果表不存在会有提示。

生成完毕:

log:

16:21:01.408 [AWT-EventQueue-0] DEBUG org.jeecgframework.codegenerate.database.DbReadTableUtil - 数据库驱动: com.mysql.jdbc.Driver
......
16:21:02.582 [AWT-EventQueue-0] INFO org.jeecgframework.codegenerate.generate.impl.CodeGenerateOne - ----jeecg----Code----Generation-----[单表模型:t_driver_pay_his]------ 生成完成。。。

按如上配置,生成的文件在 D:\SourceProject\car\src\main\java\org\jeecg\modules\demo\driver下,包括全套的entity、mapper、service、controller,以及前端的vue文件,从而解放了我们很多重复的机械性的工作。目录结构:

常见问题1:生成代码时提示:ERROR :   表 [ t_driver_pay_his ] 在数据库中,不存在 !请确认数据源配置是否配置正确、表名是否填写正确~

明明db里有,配置的db连接也是正确的,却总是提示这个。什么原因?

这里有一个细节,jeecg默认用大写的表名去读取表结构信息,即数据表名得是大写,然后生成器也得填写这个大写的表名才能生成。Linux下安装的MySQL默认是区分表名的大小写,不区分列名的大小写。那怎么才能支持小写的表名生成呢?这要设置数据库不要区分表名的大小写。用ROOT登录服务器,修改mysql配置文件/etc/my.cnf,在[mysqld]下加入一行:lower_case_table_names=1。然后,重启数据库服务:systemctl restart mysqld。

常见问题2:数据库连接配置useSSL参数。

如果生成代码时,有如下提示,则在数据库连接配置上加上useSSL=false即可。

16:08:31.625 [AWT-EventQueue-0] DEBUG org.jeecgframework.codegenerate.database.DbReadTableUtil - 数据库驱动: com.mysql.jdbc.Driver
Thu Dec 05 16:08:31 CST 2019 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.

常见问题3:遇到上面问题,我改完配置了,再生成代码时怎么还是不行呀!

这里要注意了,无论是jeecg的code-template还是properties,你都要用maven clean package 重新打包一下项目,然后才会生效。

OVER!

上周日(12月1日)参加三夫香山越野21公里赛。在冷峻的山林激情穿越,成绩还不错。附一张照片,嘿嘿!

☞ Stay Hungry,Stay Foolish. 如果对阁下有帮助,就动动手指,点一下“推荐”哟~

最新文章

  1. jsp 页面标签 积累
  2. 给自己的Unity添加声音文件
  3. Java 中新增的 foreach 的用法
  4. JSON字符串和对象之间的转换
  5. 【转】7 Tips to Speed Up Eclipse
  6. Xtrabackup每周增量备份脚本程序
  7. 【网络收集】Sql Server datetime 常用日期格式转换
  8. 2015 CCPC-C-The Battle of Chibi (UESTC 1217)(动态规划+树状数组)
  9. GIS大讲堂内所有讲座的索引(更新至2008年6月26日)(转)
  10. [TypeScript] Using Exclude and RootDir until File Globs Lands in 2.0.
  11. [转]linux的ulimit各种限制之深入分析
  12. vs2010安装路径解决不能修改的方法
  13. Unity 之圆环算法
  14. 手机测试Android程序
  15. uva 620 Cellular Structure
  16. 结队编程study
  17. mysql在win10下的卸载
  18. 17秋 软件工程 团队第五次作业 Alpha Scrum2
  19. postgresql 函数获取多个字段的数字大小值
  20. 【转】数据分析sql常用整理

热门文章

  1. SpringBoot-多环境切换相关(六)
  2. mac+chrome 最常用快捷键
  3. MyBatis更新,删除,插入
  4. BZOJ 2152 聪聪可可(树形DP)
  5. 强化学习七 - Policy Gradient Methods
  6. promise 进阶 —— async / await 结合 bluebird
  7. 使用iCamera 测试AR0331 300w高分辨率摄像头小结
  8. 【Git】405- 分享:大牛总结的 Git 使用技巧
  9. robotframework配置邮箱服务器
  10. 【MySql】使用学习