我这里使用jfinal_demo02工程:
主要jar包如下:(部分包在JSP_FOR_JSTL,c3p0目录下)
建立一张数据库表:user表
在JavaResource下建立一个res资源文件目录:
右键JavaResource,New,选择SourceFolder如图:
点击完成:
修改为自己的数据库
jdbcUrl = jdbc:mysql://localhost/test?characterEncoding=utf8
user = root
password = admin
devMode = true
showSql = true
建立com.cjq.model包:
创建User模型注意继承Model类,对应数据库user表
package com.cjq.model;
import com.jfinal.plugin.activerecord.Model;
public class User extends Model<User>{
public static final User dao=new User();
}
在DemoConfig类中加入数据库连接插件以及表映射:
package com.cjq.config;
import com.cjq.controller.HelloControlle;
import com.cjq.model.User;
import com.jfinal.config.Constants;
import com.jfinal.config.Handlers;
import com.jfinal.config.Interceptors;
import com.jfinal.config.JFinalConfig;
import com.jfinal.config.Plugins;
import com.jfinal.config.Routes;
import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
import com.jfinal.plugin.c3p0.C3p0Plugin;
import com.jfinal.render.ViewType;
public class DemoConfig extends JFinalConfig{
@Override
public void configConstant(Constants arg0) {
loadPropertyFile("jdbc.txt");
arg0.setViewType(ViewType.JSP);
}
@Override
public void configHandler(Handlers arg0) {
}
@Override
public void configInterceptor(Interceptors arg0) {
}
@Override
public void configPlugin(Plugins arg0) {
C3p0Plugin c3p0=new C3p0Plugin(getProperty("jdbcUrl"),
getProperty("user"),
getProperty("password"));
arg0.add(c3p0);
ActiveRecordPlugin activeRecord=new ActiveRecordPlugin(c3p0);
activeRecord.addMapping("user",User.class);
arg0.add(activeRecord);
/**
ActiveReceord 中定义了 addMapping(String tableName, Class<? extends Model> modelClass>)方法,该方法建立了数据库表名到 Model 的映射关系。 另外,以上代码中 arp.addMapping(“user”, User.class),表的主键名为默认为“id”,如果主键名称为 “user_id”则需要手动指定,如:arp.addMapping(“user”, “user_id”, User.class)。
我的user表主键为id,因此使用默认主键为id,如果是其他就得修改。
**/
}
@Override
public void configRoute(Routes arg0) {
arg0.add("hello",HelloControlle.class);
}
}
修改UserController:
从数据库中获取数据并向浏览器返回JSON数据: