JFinal独创Db + Record模式示例
博客专区 > JFinal 的博客 > 博客详情
JFinal独创Db + Record模式示例
JFinal 发表于6年前
JFinal独创Db + Record模式示例
  • 发表于 6年前
  • 阅读 11397
  • 收藏 29
  • 点赞 13
  • 评论 46

【腾讯云】新注册用户域名抢购1元起>>>   

JFinal配备的ActiveRecord插件,除了实现了类似Rails ActiveRecrod的功能之外,还独创了Db + Record模式,此模式下,开发者可以连Model都不需要写就可以轻松操作数据库。
以下是示例代码:

// 创建name属性为James,age属性为25的record对象并添加到数据库
Record user = new Record().set("name", "James").set("age", 25);
Db.save("user", user);

// 删除id值为25的user表中的记录
Db.deleteById("user", 25);

// 查询id值为25的Record将其name属性改为James并更新到数据库
user = Db.findById("user", 25).set("name", "James");
Db.update("user", user);

// 查询id值为25的user
user = Db.findById("user", 25);

// 获取user的name属性
String userName = user.getStr("name");

// 获取user的age属性
Integer userAge = user.getInt("age");

// 查询所有年龄大于18岁的user,并输出其name属性
List<Record> users = Db.find("select * from user where age > 18");

// 分页查询性别为1并且年龄大于18的user,当前页号为1,每页10个user
Page<Record> userPage = Db.paginate(1, 10, "select *", "from user where sex=? and age>?", 1, 18);
对于一些起辅助作用的数据库表,没有业务可言的Record,可以采用这种方式省时又省力
JFinal官方网址: http://www.jfinal.com


  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
JFinal
粉丝 3869
博文 4
码字总数 2275
作品 3
评论 (46)
小窝他爹
不错,给力!
JFinal

引用来自“Nodesky”的评论

不错,给力!

慢慢享用 ;)
benqend
像play
JFinal

引用来自“benqend”的评论

像play

JFinal的 Db + Record 模式是独创的,不像 play。曾经留意过play,没见过有这样的设计
一千年前的人
确实很不错!脚本语言的快速能力。就像apache common给java添加的脚本快速能力一样。
无聊的人们啊
简单方便,必须顶一下,做毕设应用中,顶顶顶!!!!!
JFinal

引用来自“wyq_wzw”的评论

简单方便,必须顶一下,做毕设应用中,顶顶顶!!!!!

慢慢享用 :)
jianglibo
我搜索了源代码,没有发现create table 或者 alter table,才知道Jfinal需要先建好数据库和表,然后才能产生这些魔力。作者能独立完成这样一个系统,看来对java的使用是相当的熟练了。
JFinal
其实也不需要事先建好表的,你可以先Db.update("create table user ......"),然后再像上面的例子中一样地来操作数据库。alert table 一样也能做到。所以说Db + Record模式只需要有个数据库连接就足已 :)
JFinal

引用来自“jianglibo”的评论

我搜索了源代码,没有发现create table 或者 alter table,才知道Jfinal需要先建好数据库和表,然后才能产生这些魔力。作者能独立完成这样一个系统,看来对java的使用是相当的熟练了。

其实也不需要事先建好表的,你可以先Db.update("create table user ......"),然后再像上面的例子中一样地来操作数据库。alert table 一样也能做到。所以说Db + Record模式只需要有个数据库连接就足已 ;)
沙裏飛
对于多表关联的复杂sql,这里该怎么写
JFinal

引用来自“attain”的评论

对于多表关联的复杂sql,这里该怎么写

请看这些问答: http://www.oschina.net/question/67067_48366 http://www.oschina.net/question/575942_60099 http://www.oschina.net/question/575942_59935
沙裏飛

引用来自“JFinal”的评论

引用来自“attain”的评论

对于多表关联的复杂sql,这里该怎么写

请看这些问答: http://www.oschina.net/question/67067_48366 http://www.oschina.net/question/575942_60099 http://www.oschina.net/question/575942_59935

现在只支持c3p0的连接池吗?要用其他的怎么办?
JFinal

引用来自“attain”的评论

引用来自“JFinal”的评论

引用来自“attain”的评论

对于多表关联的复杂sql,这里该怎么写

请看这些问答: http://www.oschina.net/question/67067_48366 http://www.oschina.net/question/575942_60099 http://www.oschina.net/question/575942_59935

现在只支持c3p0的连接池吗?要用其他的怎么办?

其它连接池照着 C3p0Plugin 写个插件就可以了
纸贱书贵
代码看着就是舒服。
铂金蛋蛋
真心很不错,已经开始准备学习研究了
JFinal

引用来自“erimer”的评论

真心很不错,已经开始准备学习研究了

多来提建议哈 :)
铂金蛋蛋

引用来自“JFinal”的评论

引用来自“erimer”的评论

真心很不错,已经开始准备学习研究了

多来提建议哈 :)

建议:楼主的头像很像小正太。。
eggbucket
jfinal 如何整合 jbmp4呢?
JFinal

引用来自“eggbucket”的评论

jfinal 如何整合 jbmp4呢?

jbmp4没用过,建议在这里发起个问答,问下用过的人:http://www.oschina.net/p/jfinal 如果你有 jbmp4整合别的框架的经验,应该只需要了解一下JFinal便可以整合了 :)
×
JFinal
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: