Jfinal Generator 不需要生成带某个前缀的表名数组的方法
2019独角兽企业重金招聘Python工程师标准>>>
- 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;
- }
- }
转载于:https://my.oschina.net/bv10000/blog/865264
Jfinal Generator 不需要生成带某个前缀的表名数组的方法相关推荐
- 织梦数据库改mysql前缀_织梦快速批量修改MYSQL数据库表前缀与表名实例操作
这篇文章主要为大家详细介绍了织梦快速批量修改MYSQL数据库表前缀与表名实例操作,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴. 我们在安装织梦系统的时候,有一次 ...
- MYSQL批量修改表前缀与表名sql语句
修改表名 ALTER TABLE 原表名 RENAME TO 新表名; 一句SQL语句只能修改一张表 show tables; 1. SELECTCONCAT('ALTER TABLE ',table ...
- PowerDesigner生成SQL脚本时表名、字段名带引号问题及解决方法
使用PowerDesigner生成数据库脚本时,表名一般会带引号. 如下: 加引号是PL/SQL的规范,数据库会严格按照""中的名称建表,如果没有"",会按照O ...
- php表格批量修改数据,php批量修改数据库表名前缀
直接上代码了 $old_prefix是旧的 $new_prefix 是新的! 再填下数据库的连接信息!然后保存为一个php文件! 浏览器打开即可<?php header("Conten ...
- 使用TkMybatis逆向生成带中文注释文件,并使用其常用的方法
首先说明,博主用的是springboot,如使用原生态的mybatis的一些配置文件请自行百度 贴上pom文件 <?xml version="1.0" encoding=&q ...
- 生成带参数的二维码接口实例
1.生成带参数的二维码接口介绍 为了满足用户渠道推广分析的需要,公众平台提供了生成带参数二维码的接口.使用该接口可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送. 目前有2种类型 ...
- mybatis-generator生成带中文注释POJO类的超详细教程含代码和图解
mybatis-generator生成带中文注释POJO类的超详细教程含代码和图解 mybatis-generator自动生成带中文注释POJO类和增删改查,idea和eclipes都可以使用 MyC ...
- iOS 生成带 logo 的二维码,区域截屏保存至相册(小功能二连发 (一))
原文链接:http://www.jianshu.com/p/36e9f012ef39 生成带 logo 的二维码 区域截屏相关 -- 由3033分享 开篇 最近项目需要搞了几个相对独立的小功能,今天有 ...
- java ADT生成带签名的apk
1.生成签名文件 cmd cd到jdk目录下的bin目录. 运行命令: c:\Program Files\Java\jdk1.8.0_05\bin>"keytool.exe" ...
最新文章
- 深度学习难,这本书让你轻松学深度学习
- 人工智能行业有哪些岗位_建筑行业年薪超50万,哪些岗位有希望达到?你是什么岗位呢?昆山建造师培训学校...
- [云炬创业学笔记]第一章创业是什么测试12
- scrapy去重原理,scrapy_redis去重原理和布隆过滤器的使用
- dev GridControl双击行事件
- javascript设计模式-Constructor(构造器)模式
- ajax 弹框 示例,AJAX实现鼠标经过弹出详细介绍示例
- spring aop实例讲解_【好好面试】手把手调试,教你分析Spring-Aop
- C++基础::shared_ptr 编程细节(一)
- 【pandas】读取大型文件技巧
- 一种数字全息散斑干涉测量仿真模拟系统
- exadata存储相关学习
- CSAPP : Arch Lab 解题报告
- 搞了一个星期的扫码收款, 总结感悟
- 关于人机智能的几点思考
- Splatter Painting题目代码
- 程序员的工匠精神何在?何来?
- TF-IDF的Matlab程序,TF-IDF算法简析 - osc_sjg81se7的个人空间 - OSCHINA - 中文开源技术交流社区...
- 唯美网页登陆界面素材
- 环信即时通讯——集成客户端
热门文章
- 博客园 cnblogs博客添加Google Analytics统计
- 翻页导航条页码计算方法
- 水晶报表调用存储过程的问题
- “重置”不是“清空”
- list控件响应鼠标键的单双击
- 【FFmpeg】ffmpeg命令详解(二)
- 【Qt】ubuntu14.04+qt5.6+opencv2.4编程注意事项
- 小黑盒不显示服务器,steam上买的游戏小黑盒不显示 | 手游网游页游攻略大全
- 吉大c语言程序设计作业一,吉林大学历年C语言程序设计试题及答案.doc
- linux signal函数用法,linux信号机制之sigaction构造体浅析,signal 函数,信号捕捉.