java 中JFinal getModel方法和数据库使用出现问题解决办法
JFinalgetModel方法(从页面表单中获取Model对象)+数据库存储问题
一、getmodel方法
1.在JConfig配置类中的数据库映射(存储到数据库时需要此配置)
publicvoidconfigPlugin(Pluginsme){
C3p0Plugincp=null;
try{
cp=newC3p0Plugin(
"jdbc:mysql://localhost:3306/huaxuetang?useUnicode=true&characterEncoding=utf-8",
"root","1234");
System.out.println("成功");
}catch(Exceptione){
System.out.println("连接失败");
}
me.add(cp);
ActiveRecordPluginarp=newActiveRecordPlugin(cp);
arp.setShowSql(true);
me.add(arp);
arp.addMapping("bse_user","id",User.class);
arp.addMapping("grade_one_choice","id",GOneQuestion.class);
}
中arp。addMapping()中有三个参数,第一个是数据库表名,第二个主键,第三个是对应的Model类名称
2.Model类
importcom.jfinal.plugin.activerecord.Model; publicclassGOneQuestionextendsModel{ privatestaticfinallongserialVersionUID=1L; //声明一个全局操作的变量 publicfinalstaticGOneQuestionquestiondao=newGOneQuestion(); }
3.前端表单
前端中的name=“Modelname.atrrname”意思:比如此例中的model为GOneQuestion,表单中的属性为A,所以name就为:gOneQuestion.A
注意:只有首字母变成小写,其他不变
4.getmodel获取
GOneQuestionquestion=getModel(GOneQuestion.class);
二、数据库存储问题
jfianl说明文档中:
User中定义的publicstaticfinalUserdao对象是全局共享的,只能用于数据库查询,不能用于数据承载对象。数据承载需要使用newUser().set(…)来实现。
意思是:比如本例中model定义的questiondao只能用来查询,不能用来插入数据。
插入数据时:(使用错会出现主键重复问题)
newGOneQuestion()
.set("book",question.getStr("book"))
.save();
删除增加数据时:GOneQuestion.questiondao.方法名
热门推荐
10 生日留言简短祝福语大全
11 老年 生日祝福语大全简短
12 男生打球祝福语简短霸气
13 祝福语赠言给老师简短
14 周末新人祝福语短句简短
15 爱情寄语简短祝福语大全
16 生日祝福语简短霸屏
17 新房开工吉日祝福语简短
18 给哥嫂结婚祝福语简短