博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Jfinal Generator 不需要生成带某个前缀的表名数组的方法
阅读量:6500 次
发布时间:2019-06-24

本文共 2431 字,大约阅读时间需要 8 分钟。

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

你可能感兴趣的文章
silk v3 decoder php,解码转换QQ微信的SILK v3编码音频为MP3或其他格式
查看>>
延时关机命令 linux,windows定时关机和linux定时关机的方法(shutdown命令)
查看>>
linux内核最早延迟,工作队列是实现延迟的新机制,从2.5版本Linux内核开始提
查看>>
linux的操作命令文档,Linux文档操作命令
查看>>
linux不能访问80端口,lunux开放80端口(本地访问不了linux文件可能是这个原因)...
查看>>
linux查看与开启sshd服务,[转载]linux查看与开启sshd服务
查看>>
android单位转换小程序,微信小程序中rpx与rem单位转换
查看>>
html绝对定位重叠,HTML_firefox下绝对定位元素重叠造成不可点击问题,重构地图网站过程中碰到的,f - phpStudy...
查看>>
ps切图教程 android,PS前端切图完整教程
查看>>
html显示服务器状态,显示服务器时间并一直显示(html代码)
查看>>
在线html代码优化,网站seo优化html代码方法
查看>>
HTML如何把输入框变成必填值,required输入框为必填项
查看>>
在html中哪一个不是链接的目标属性,HTML试题
查看>>
android otg 挂载流程,android USB OTG功能如何打开及实现
查看>>
html属性board,pin_board.html
查看>>
html定位有几种,POSITION定位有哪几种?各有什么特点?
查看>>
背锅侠逆袭之路
查看>>
移动互联企业级应用三大场景
查看>>
演示:使用协议分析器取证IPv6的报文结构
查看>>
oracle 11gr2 rac中的4种IP解说
查看>>