1.新建数据库jfinal_test,user表

/*
Navicat MySQL Data Transfer Source Server : .
Source Server Version : 50547
Source Host : localhost:3306
Source Database : jfinal_test Target Server Type : MYSQL
Target Server Version : 50547
File Encoding : 65001 Date: 2016-10-08 18:24:33
*/ SET FOREIGN_KEY_CHECKS=0; -- ----------------------------
-- Table structure for `user`
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`pwd` varchar(255) NOT NULL,
`reg_time` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- ----------------------------
-- Records of user
-- ----------------------------

2.在res文件夹下的SystemConfig.txt文件中写入数据库连接地址,用户名密码,以及开发者模式。

jdbcUrl = jdbc:mysql://localhost:3306/jfinal_test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull
user = root
password = root
devMode = true

3.创建JFinal生成器 
在官网下载 
http://www.jfinal.com/download?file=GeneratorDemo.java 
然后修改其中的部分,如

package cn.pangpython.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; /**
* GeneratorDemo
* 来自JFinal官方的生成器
*
*/
public class _JFinalGenerator { public static DataSource getDataSource() {
//加载配置文件
Prop p = PropKit.use("SystemConfig.txt");
//创建c3p0连接
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 = "cn.pangpython.model.base";
// base model 文件保存路径
String baseModelOutputDir = PathKit.getWebRootPath() + "/../src/cn/pangpython/model/base"; // model 所使用的包名 (MappingKit 默认使用的包名)
String modelPackageName = "cn.pangpython.model";
// model 文件保存路径 (MappingKit 与 DataDictionary 文件默认保存路径)
String modelOutputDir = baseModelOutputDir + "/.."; // 创建生成器
Generator gernerator = new Generator(getDataSource(), baseModelPackageName, baseModelOutputDir, modelPackageName, modelOutputDir);
// 设置数据库方言
//gernerator.setDialect(new MysqlDialect());
// 添加不需要生成的表名
//gernerator.addExcludedTable("adv");
// 设置是否在 Model 中生成 dao 对象
gernerator.setGenerateDaoInModel(true);
// 设置是否生成字典文件
gernerator.setGenerateDataDictionary(false);
// 设置需要被移除的表名前缀用于生成modelName。例如表名 "osc_user",移除前缀 "osc_"后生成的model名为 "User"而非 OscUser
//gernerator.setRemovedTableNamePrefixes("t_");
// 生成
gernerator.generate();
}
}

4.把依赖的jar包放入WebRoot/WEB-INF/lib/下 
目前的jar包

5.生成 
在_JFinalGenerator.java中右击--->Run As--->Java Application运行 
就能生成数据库的实体类

其中base包中的类文件不需要我们手动修改,如果数据库有变动,只需要用生成器重新生成一次就OK。 
model中可以定义自己的方法,比如getAllUser返回list类型. 
用Jfinal老大的话说,干净清爽,打完收枪。

: )

参考原文:https://blog.csdn.net/u012995856/article/details/52759927

JFinal Web开发学习(四)数据库连接与自动生成model的更多相关文章

  1. JFinal Web开发学习(二)目录、架构、package设计

    package分类 config是JFinal的项目配置 controller是控制器 handler可以设置全局处理器,例如判断用户请求中是否直接请求 FreeMarker的模板文件ftl或者htm ...

  2. JFinal Web开发学习(一)开启HelloWorld

    初次接触JFinal框架,接触过MVC思想,接触过Spring. JFinal官网: http://www.jfinal.com/ 之前很嫌弃JavaWeb开发,主要原因是繁琐的xml配置. 官方推荐 ...

  3. JFinal Web开发学习(六)验证码验证和注册细节

    效果: 实现了注册界面的验证码验证.确认密码.密码md5加盐加密.C3P0插件数据库操作.读取外部配置文件. 1.在注册页面添加了确认密码输入框,修改了字段名称 <!DOCTYPE html&g ...

  4. JFinal Web开发学习(五)注册界面和后端验证

    效果: 直接点击注册后 : 后端验证是可靠地,前端js验证是不可靠的.只需要在浏览器删除js验证代码即可突破js验证. 1.注册界面 在WebRoot下新建regist.jsp <%@ page ...

  5. JFinal Web开发学习(三)前后台路由设计

    效果图: 一.写控制器 1.在controller包中新建AdminController后台控制器,继承Controller,实现一个index方法,作为的处理方法. /admin 后面,这个控制器中 ...

  6. JFinal Web开发学习(九)后台添加前台显示博客

    效果: 发博客: 显示博客: 后台:使用hui-admin,文章编辑器是百度开源的ueditor 前台:使用layui前端框架 1.写控制器BlogController controller包中 pa ...

  7. JFinal Web开发学习(八)后台集成H-ui-admin前端框架

    h-ui-admin是一个很不错的前端框架h-ui实现的一个后台管理系统的前端. 1.在WebRoot目录下新建admin目录 2.下载h-ui-admin(当前最新是2.5版本)并解压至admin文 ...

  8. JFinal Web开发学习(七)使用layUI美化的登录功能

    效果: 验证码还是没有布局好.背景比较怀古. 1.写前端html login.jsp <!DOCTYPE html> <html> <head> <meta ...

  9. ASP.NET Core Web开发学习笔记-1介绍篇

    ASP.NET Core Web开发学习笔记-1介绍篇 给大家说声报歉,从2012年个人情感破裂的那一天,本人的51CTO,CnBlogs,Csdn,QQ,Weboo就再也没有更新过.踏实的生活(曾辞 ...

随机推荐

  1. 检查浏览器是否已经启用Java支持功能

    <script type="text/javascript"> document.write("navigator对象的方法"+"< ...

  2. oracle数据表中的中文变问号

    先查询一下select userenv('language') from dual;查看oracle字符集, $ sqlplus /nolog SQL> connect sys/oracle a ...

  3. servlet中url-pattern之/与/*的区别

  4. 吴裕雄 oracle PL/SQL编程

  5. MongoDB分布式集群搭建

    最近在做一个关于车险的项目,由于数据量较大,实验室的Boss决定采用HBase+ES/MongoDB这两种方案,并做性能对比,本人负责MongoDB方案.为了满足海量数据的存储要求,需要搭建一个分布式 ...

  6. R语言-画散点图

    plot()函数 plot(cars$dist~cars$speed,           # y~x main="XXX",                            ...

  7. 消息中间件MQ详解及四大MQ比较

    一.消息中间件相关知识 1.概述 消息队列已经逐渐成为企业IT系统内部通信的核心手段.它具有低耦合.可靠投递.广播.流量控制.最终一致性等一系列功能,成为异步RPC的主要手段之一.当今市面上有很多主流 ...

  8. yii添加模型基础类

  9. 常用官方php版本下载链接

    windows 版本 https://windows.php.net/downloads/releases/archives/ https://windows.php.net/download/#ph ...

  10. 如何区分Java中的方法重载和重写

    首先说的是重载: 方法的重载 * 在同一个类中,方法名相同,参数列表不同.与返回值类型无关. * 参数列表不同: * A:参数个数不同 * B:参数类型不同 * C:参数的顺序不同(不算重载 报错) ...