今天要给各位朋友分享的的是java 中JFinal getModel方法和数据库使用出现问题解决办法,对于java 中JFinal getModel方法和数据库使用有问题的朋友可以来看看,参考一下吧。
JFinal getModel方法(从页面表单中获取Model对象)+数据库存储问题
一、getmodel方法
1.在JConfig配置类中的数据库映射(存储到数据库时需要此配置)
public void configPlugin(Plugins me) {
C3p0Plugin cp = null;
try {
cp = new C3p0Plugin(
"jdbc:mysql://localhost:3306/huaxuetang?useUnicode=true&characterEncoding=utf-8",
"root", "1234");
System.out.println("成功");
} catch (Exception e) {
System.out.println("连接失败");
}
me.add(cp);
ActiveRecordPlugin arp = new ActiveRecordPlugin(cp);
arp.setShowSql(true);
me.add(arp);
arp.addMapping("bse_user", "id", User.class);
arp.addMapping("grade_one_choice","id",GOneQuestion.class);
}
中arp。addMapping()中有3个参数,第1个是数据库表名,第2个主键,第3个是对应的Model类名称
2.Model类
import com.jfinal.plugin.activerecord.Model;
public class GOneQuestion extends Model{
private static final long serialVersionUID = 1L;
// 声明一个全局操作的变量
public final static GOneQuestion questiondao = new GOneQuestion();
}
3.前端表单
前端中的name=“Modelname.atrrname”意思:例如本例中的model为GOneQuestion,表单中的属性为A,因此name就为:gOneQuestion.A
注意:只有首字母变成小写,其他不变
4.getmodel获取
GOneQuestion question =getModel(GOneQuestion.class);
二、数据库存储问题
jfianl说明文档中:
User中定义的公共静态最终User Dao对象是全局共享的,只能用于数据库查询,不能用于承载数据的对象。数据承载需要使用新的User()。Set(...)来实现它。
例如,在此示例中,由model定义的questionao只能用于查询,不能用于插入数据。
插入数据时:(使用错会出现主键重复问题)
new GOneQuestion()
.set("book", question.getStr("book"))
.save();
删除增加数据时:GOneQuestion.questiondao.方法名