这段时间在修改毕设的架构,之前用的是springmvc+hibernate,越到项目后头,hibernate越来越不受控制,个人还是比较喜欢用sql来处理表与表直接的关联,于是我想到了jfinal,之前用过jfianl,所以这次把项目迁移到jfianl上仅仅花了一天的时间。
昨天无意中看到社区有人写了个为jfianl生成实体类的工具,但细看了一下,里面使用的是jdbc代码,个人比较倾向jfianl的简洁,所以用纯jfianl的方式也写了个工具类。
package org.piaohao.util.database;import com.jfinal.kit.StringKit;import com.jfinal.plugin.activerecord.Db;import com.jfinal.plugin.activerecord.DbKit;import com.jfinal.plugin.c3p0.C3p0Plugin;import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.util.List;/** * 此工具类,可以根据数据库表自动生成实体类,生成的实体类包含静态dao引用,以及各列字段, 生成的列字段对应了java的数据类型 Created on : * 2013-5-6, 21:58:11 * * @author piaohao */public class AutoCreateEntity { private static final String url = "jdbc:mysql://localhost/transport_safe"; private static final String name = "root"; private static final String password = "root"; /**注册jfinal数据库插件*/ static { C3p0Plugin cp = new C3p0Plugin(url, name, password); cp.start();//启动插件 DbKit.setDataSource(cp.getDataSource()); } /** * 根据数据库表,自动生成实体文件 * * @param path 文件存放路径 * @param packageName 包名 * @param withField 是否生成属性字段 */ public static void process(String path, String packageName, boolean withField) { try { List
写的不好之处,请多多见谅,等答辩完之后,我会开放系统的源代码。
系统使用extjs4.X+jfinal实现。