2019独角兽企业重金招聘Python工程师标准>>>

  1. package com.demo.common.model;
  2. import javax.sql.DataSource;
  3. import com.jfinal.kit.PathKit;
  4. import com.jfinal.kit.Prop;
  5. import com.jfinal.kit.PropKit;
  6. import com.jfinal.plugin.activerecord.generator.Generator;
  7. import com.jfinal.plugin.c3p0.C3p0Plugin;
  8. import java.sql.Connection;
  9. import java.sql.ResultSet;
  10. import java.sql.SQLException;
  11. import java.sql.Statement;
  12. import java.util.ArrayList;
  13. import java.util.List;
  14. /**
  15. * GeneratorDemo
  16. */
  17. public class GeneratorDemo {
  18. public static DataSource getDataSource() {
  19. Prop p = PropKit.use("a_little_config.txt");
  20. C3p0Plugin c3p0Plugin = new C3p0Plugin(p.get("jdbcUrl"), p.get("user"), p.get("password"));
  21. c3p0Plugin.start();
  22. return c3p0Plugin.getDataSource();
  23. }
  24. public static void main(String[] args) {
  25. // base model 所使用的包名
  26. String baseModelPackageName = "com.demo.common.model.base";
  27. // base model 文件保存路径
  28. String baseModelOutputDir = PathKit.getWebRootPath() + "/../src/com/demo/common/model/base";
  29. // model 所使用的包名 (MappingKit 默认使用的包名)
  30. String modelPackageName = "com.demo.common.model";
  31. // model 文件保存路径 (MappingKit 与 DataDictionary 文件默认保存路径)
  32. String modelOutputDir = baseModelOutputDir + "/..";
  33. // 创建生成器
  34. Generator gernerator = new Generator(getDataSource(), baseModelPackageName, baseModelOutputDir, modelPackageName, modelOutputDir);
  35. // 设置数据库方言
  36. gernerator.setDialect(new MysqlDialect());
  37. // 添加不需要生成的表名
  38. gernerator.addExcludedTable(getExcTab("compact_"));
  39. // 设置是否在 Model 中生成 dao 对象
  40. gernerator.setGenerateDaoInModel(true);
  41. // 设置是否生成字典文件
  42. gernerator.setGenerateDataDictionary(false);
  43. // 设置需要被移除的表名前缀用于生成modelName。例如表名 "osc_user",移除前缀 "osc_"后生成的model名为 "User"而非 OscUser
  44. gernerator.setRemovedTableNamePrefixes("t_");
  45. // 生成
  46. gernerator.generate();
  47. }
  1. private static String[] getExcTab(String preName){
  2. String sql="SELECT table_name from information_schema.tables WHERE table_name LIKE '"+preName+"%'";
  3. List<String> list = new ArrayList<String>();
  4. Connection conn = null;
  5. try {
  6. conn = getDataSource().getConnection();
  7. Statement stmt = conn.createStatement();
  8. ResultSet rs=stmt.executeQuery(sql);
  9. while (rs.next()) {
  10. list.add(rs.getString(1));
  11. }
  12. } catch (SQLException e) {
  13. // TODO Auto-generated catch block
  14. e.printStackTrace();
  15. }finally{
  16. try {
  17. conn.close();
  18. } catch (SQLException e) {
  19. // TODO Auto-generated catch block
  20. e.printStackTrace();
  21. }
  22. }
  23. String[] s=new String[list.size()];
  24. for (int i = 0; i < list.size(); i++) {
  25. s[i]= list.get(i);
  26. }
  27. return s;
  28. }
  29. }

转载于:https://my.oschina.net/bv10000/blog/865264

Jfinal Generator 不需要生成带某个前缀的表名数组的方法相关推荐

  1. 织梦数据库改mysql前缀_织梦快速批量修改MYSQL数据库表前缀与表名实例操作

    这篇文章主要为大家详细介绍了织梦快速批量修改MYSQL数据库表前缀与表名实例操作,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴. 我们在安装织梦系统的时候,有一次 ...

  2. MYSQL批量修改表前缀与表名sql语句

    修改表名 ALTER TABLE 原表名 RENAME TO 新表名; 一句SQL语句只能修改一张表 show tables; 1. SELECTCONCAT('ALTER TABLE ',table ...

  3. PowerDesigner生成SQL脚本时表名、字段名带引号问题及解决方法

    使用PowerDesigner生成数据库脚本时,表名一般会带引号. 如下: 加引号是PL/SQL的规范,数据库会严格按照""中的名称建表,如果没有"",会按照O ...

  4. php表格批量修改数据,php批量修改数据库表名前缀

    直接上代码了 $old_prefix是旧的 $new_prefix 是新的! 再填下数据库的连接信息!然后保存为一个php文件! 浏览器打开即可<?php header("Conten ...

  5. 使用TkMybatis逆向生成带中文注释文件,并使用其常用的方法

    首先说明,博主用的是springboot,如使用原生态的mybatis的一些配置文件请自行百度 贴上pom文件 <?xml version="1.0" encoding=&q ...

  6. 生成带参数的二维码接口实例

    1.生成带参数的二维码接口介绍 为了满足用户渠道推广分析的需要,公众平台提供了生成带参数二维码的接口.使用该接口可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送. 目前有2种类型 ...

  7. mybatis-generator生成带中文注释POJO类的超详细教程含代码和图解

    mybatis-generator生成带中文注释POJO类的超详细教程含代码和图解 mybatis-generator自动生成带中文注释POJO类和增删改查,idea和eclipes都可以使用 MyC ...

  8. iOS 生成带 logo 的二维码,区域截屏保存至相册(小功能二连发 (一))

    原文链接:http://www.jianshu.com/p/36e9f012ef39 生成带 logo 的二维码 区域截屏相关 -- 由3033分享 开篇 最近项目需要搞了几个相对独立的小功能,今天有 ...

  9. java ADT生成带签名的apk

    1.生成签名文件 cmd cd到jdk目录下的bin目录. 运行命令: c:\Program Files\Java\jdk1.8.0_05\bin>"keytool.exe" ...

最新文章

  1. 深度学习难,这本书让你轻松学深度学习
  2. 人工智能行业有哪些岗位_建筑行业年薪超50万,哪些岗位有希望达到?你是什么岗位呢?昆山建造师培训学校...
  3. [云炬创业学笔记]第一章创业是什么测试12
  4. scrapy去重原理,scrapy_redis去重原理和布隆过滤器的使用
  5. dev GridControl双击行事件
  6. javascript设计模式-Constructor(构造器)模式
  7. ajax 弹框 示例,AJAX实现鼠标经过弹出详细介绍示例
  8. spring aop实例讲解_【好好面试】手把手调试,教你分析Spring-Aop
  9. C++基础::shared_ptr 编程细节(一)
  10. 【pandas】读取大型文件技巧
  11. 一种数字全息散斑干涉测量仿真模拟系统
  12. exadata存储相关学习
  13. CSAPP : Arch Lab 解题报告
  14. 搞了一个星期的扫码收款, 总结感悟
  15. 关于人机智能的几点思考
  16. Splatter Painting题目代码
  17. 程序员的工匠精神何在?何来?
  18. TF-IDF的Matlab程序,TF-IDF算法简析 - osc_sjg81se7的个人空间 - OSCHINA - 中文开源技术交流社区...
  19. 唯美网页登陆界面素材
  20. 环信即时通讯——集成客户端

热门文章

  1. 博客园 cnblogs博客添加Google Analytics统计
  2. 翻页导航条页码计算方法
  3. 水晶报表调用存储过程的问题
  4. “重置”不是“清空”
  5. list控件响应鼠标键的单双击
  6. 【FFmpeg】ffmpeg命令详解(二)
  7. 【Qt】ubuntu14.04+qt5.6+opencv2.4编程注意事项
  8. 小黑盒不显示服务器,steam上买的游戏小黑盒不显示 | 手游网游页游攻略大全
  9. 吉大c语言程序设计作业一,吉林大学历年C语言程序设计试题及答案.doc
  10. linux signal函数用法,linux信号机制之sigaction构造体浅析,signal 函数,信号捕捉.