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

news/2024/7/5 2:30:01

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

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

 

  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.           
  24.         String[] s=new String[list.size()];  
  25.         for (int i = 0; i < list.size(); i++) {  
  26.             s[i]= list.get(i);  
  27.         }  
  28.         return s;  
  29.     }  
  30. }  

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


http://lihuaxi.xjx100.cn/news/241244.html

相关文章

1008 Elevator

思路如下&#xff1a;用一个整型数组存楼层&#xff0c;0号元素为0(开始停在0层)&#xff0c;每读入一个元素&#xff0c;和上一个比较&#xff0c;更大说明是上升&#xff0c;总时长加上楼层差*6&#xff0c;反之说明是下降&#xff0c;总时长加上楼层差*4。最后再管停留时间&…

java中mypoiexception,java - 如何使用Poi获取Java中单元格的数据验证源? - 堆栈内存溢出...

此问题包含多个不同的问题。首先&#xff0c;我们需要获取工作表的数据验证&#xff0c;然后为每个数据验证获取数据验证所适用的Excel单元格范围。 如果该单元格位于该单元格范围之一中&#xff0c;并且数据验证是列表约束&#xff0c;则进行进一步处理。 否则返回默认值。如果…

jfinal框架下使用c3P0连接池连接sql server 2008

2019独角兽企业重金招聘Python工程师标准>>> 闲话少说 进入正题 首先是工程需要的jar包 然后是c3p0的配置文件。我是这样配置的 仅供参考 jdbcDriver com.microsoft.sqlserver.jdbc.SQLServerDriver jdbcUrl jdbc:sqlserver://localhost:7777;databaseNametest us…

(C++)一行代码递归实现辗转相除法

定理&#xff1a;两个整数的最大公约数等于其中较小的那个数和两数相除余数的最大公约数。 int gcd(int a,int b){return !b?a:gcd(b,a%b); } 这里递归边界是 gcd(a,0)a; 递归式是 gcd(a,b)gcd(b,a%b);

mysql left join超时,MySQL 行锁超时排查方法优化

一、大纲#### 20191219 10:10:10,234 | com.alibaba.druid.filter.logging.Log4jFilter.statementLogError(Log4jFilter.java:152) | ERROR | {conn-10593, pstmt-38675}executeerror.updatexxxsetxxx ? , xxx ?whereRowGuid ?com.mysql.jdbc.exceptions.jdbc4.MySQLTra…

Python常用操作记录

当前日期格式化&#xff1a; time.strftime(%Y-%m-%d,time.localtime(time.time())) pprint&#xff1a; import pprint pp pprint.PrettyPrinter(indent4) pp.pprint(stuff)或 import pprint pprint.pprint(stuff)django 模板遍历dict&#xff1a; {% for k,v in item.items…

编写程序记录文件位置

当我们编写程序是会注意到&#xff0c;首先是配置一些函数的结构体。 所以我们就要找到下面的界面&#xff0c;然后打开FWLB中.c文件下面所对应的.h文件&#xff0c;这样就能查找到相应的结构体。下图为我所找到的中断的结构体、 然后就是查找相对应的中断向量。具体就是打开 还…

1034 有理数四则运算

1. 起先&#xff0c;一个用例浮点错误&#xff0c;但是在进入出发之前&#xff0c;明明已经有判断被除数的分子是否为0&#xff0c;另有一个答案错误&#xff0c;但是和书上代码对照&#xff0c;没有区别。题目中说&#xff1a;“题目保证正确的输出中没有超过整型范围的整数”…