Jfinal Generator 不需要生成带某个前缀的表名数组的方法
2016-03-21 18:53
316 查看
package com.demo.common.model; import javax.sql.DataSource; import com.jfinal.kit.PathKit; import com.jfinal.kit.Prop; import com.jfinal.kit.PropKit; import com.jfinal.plugin.activerecord.generator.Generator; import com.jfinal.plugin.c3p0.C3p0Plugin; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; /** * GeneratorDemo */ public class GeneratorDemo { public static DataSource getDataSource() { Prop p = PropKit.use("a_little_config.txt"); C3p0Plugin c3p0Plugin = new C3p0Plugin(p.get("jdbcUrl"), p.get("user"), p.get("password")); c3p0Plugin.start(); return c3p0Plugin.getDataSource(); } public static void main(String[] args) { // base model 所使用的包名 String baseModelPackageName = "com.demo.common.model.base"; // base model 文件保存路径 String baseModelOutputDir = PathKit.getWebRootPath() + "/../src/com/demo/common/model/base"; // model 所使用的包名 (MappingKit 默认使用的包名) String modelPackageName = "com.demo.common.model"; // model 文件保存路径 (MappingKit 与 DataDictionary 文件默认保存路径) String modelOutputDir = baseModelOutputDir + "/.."; // 创建生成器 Generator gernerator = new Generator(getDataSource(), baseModelPackageName, baseModelOutputDir, modelPackageName, modelOutputDir); // 设置数据库方言 gernerator.setDialect(new MysqlDialect()); // 添加不需要生成的表名 gernerator.addExcludedTable(getExcTab("compact_")); // 设置是否在 Model 中生成 dao 对象 gernerator.setGenerateDaoInModel(true); // 设置是否生成字典文件 gernerator.setGenerateDataDictionary(false); // 设置需要被移除的表名前缀用于生成modelName。例如表名 "osc_user",移除前缀 "osc_"后生成的model名为 "User"而非 OscUser gernerator.setRemovedTableNamePrefixes("t_"); // 生成 gernerator.generate(); }
private static String[] getExcTab(String preName){ String sql="SELECT table_name from information_schema.tables WHERE table_name LIKE '"+preName+"%'"; List<String> list = new ArrayList<String>(); Connection conn = null; try { conn = getDataSource().getConnection(); Statement stmt = conn.createStatement(); ResultSet rs=stmt.executeQuery(sql); while (rs.next()) { list.add(rs.getString(1)); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ try { conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } String[] s=new String[list.size()]; for (int i = 0; i < list.size(); i++) { s[i]= list.get(i); } return s; } }一开始查询的时候用Db+Record方法。。。
相关文章推荐
- 57.解决版本控制中 UserInterfaceState.xcuserstate 文件频繁变动
- 新安装的金蝶K3软件,初始化后,在基础资料中对于币别,科目,部门,客户等资料均无法新增,无法引出,等操作,K3CASysSet.dll
- Spring3第二天
- thrift的TTransport连接池注意事项[Java版本说明]
- Mastering R plot -2
- 内网渗透一:利用Xss漏洞进入内网
- Spring MVC返回对象JSON
- 统计输入字符串中各字符出现的次数
- Android一个应用(APK)多个入口的实现方式整理
- 安卓--selector简单使用
- autorelease 应用
- 后台进行数据更新和下载
- PHP/JS/MYSQL 测试题
- 简单AIDS的源码学习 <utils.c>
- Java泛型简明教程
- oracle 索引使用及索引失效总结
- android性能测试工具之dumpsys
- c# hasvalue属性
- javaScript"闭包" - (实例理解)
- 发博客工具——知笔记