本文采用的是加载配置文件的形式和数据库进行交互

ps:数据库采用的是postgresql

1、加载配置文件

 public void configConstant(Constants me) {

     PropKit.use("config.properties");

 }

2、config.properties配置

 jdbcUrl = jdbc:postgresql://localhost:5432/liubaohua
username = postgres
password = postgres
driver = org.postgresql.Driver

3、使用C3p0Plugin连接数据库

ps:这里需要导入c3p0-0.9.5.1 、mchange-commons-java-0.2.10 、mysql-connector-java-5.1.20-bin

至于mysql-connector-java-5.1.20-bin什么导入,还不清楚。

 public void configPlugin(Plugins me) {
C3p0Plugin c3p0Plugin = new C3p0Plugin(PropKit.get("jdbcUrl"),PropKit.get("username"),PropKit.get("password"),PropKit.get("driver"));
ActiveRecordPlugin arp = new ActiveRecordPlugin(c3p0Plugin);
arp.setShowSql(true);
arp.addMapping("post_user","user_id",User.class);
me.add(c3p0Plugin);
me.add(arp);
arp.setDialect(new PostgreSqlDialect()); }

4、在Controller中的action方法中调用数据库操作方法

 public void save() {
// 用户删除
User.user.deleteById(4); // 用户添加
new User().set("user_name", "宝华"+new Random().nextInt(100))
.set("user_password", "123")
.set("user_class_id", 1)
.save(); renderText("用户添加成功...");
// 用户查询
User user = User.user.findById(2);
renderText(user.getStr("user_name"));
// 用户修改
User.user.findById(1).set("user_name","张无忌").update();
// 查询语句
String likeStr = "select * from post_user where user_name like '%宝%'";
List<User> userList = User.user.find(likeStr);
String renderStr = "";
for (User user2 : userList) {
renderStr += user2.getStr("user_name");
renderStr += "---";
}
renderText(renderStr);
// 分页查询语句 参数列表(起始页,每页条数,查询字段,表和条件《使用占位符》,"设置占位符")
Page<User> userPage = User.user.paginate(1, 8,
"select *", "from post_user where user_name like ?", "%华%"); renderStr = "";
for (User user2 : userPage.getList()) {
renderStr += "-->";
renderStr += user2.getStr("user_name")+"\n";
}
renderText("总页数:"+userPage.getTotalPage()+"\t共有:"+userPage.getTotalRow()+"条数据"
+"\t共有:"+userPage.getTotalPage()+"页"+"\t当前页:"+userPage.getPageNumber()
+"\n"+renderStr); }

转载请标明出处@华行天下

JFinal连接数据库配置说明的更多相关文章

  1. 使用JFinal框架连接数据库,实现注册、登录功能

    使用JFinal框架连接数据库,实现注册.登录功能 1.在Eclipse中新建Dynamic Web project项目 2.导入jfinal-2.2-bin-with-src.jar.c3p0-0. ...

  2. Jfinal连接SQLSERVER相关配置说明

    driver=net.sourceforge.jtds.jdbc.Driver jdbcUrl = jdbc:sqlserver://localhost:1433;DatabaseName=test ...

  3. jFinal中报对应模型不存在的错误(The Table mapping of model: demo.User not exists)

    jFinal中报对应模型不存在的错误(The Table mapping of model: demo.User not exists) 贴出错误: java.lang.RuntimeExceptio ...

  4. 常用数据库连接池 (DBCP、c3p0、Druid) 配置说明

    1. 引言 1.1 定义 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标.数据库 ...

  5. java常用数据库连接池 (DBCP、c3p0、Druid) 配置说明

    1. 引言 1.1 定义 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标.数据库 ...

  6. DataSource - 常用数据库连接池 (DBCP、c3p0、Druid) 配置说明

    1. 引言 1.1 定义 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标.数据库 ...

  7. Java(JFinal)实现sqlserver2017的数据库的备份与恢复

    1.连接数据库的代码: package com.once.xfd.dbutil; import java.sql.Connection; import java.sql.DriverManager; ...

  8. SpringBoot DataSource 配置说明

    DataSource 配置说明 属性 说明 spring.dao.exceptiontranslation.enabled 是否开启PersistenceExceptionTranslationPos ...

  9. 常用数据库连接池 (DBCP、c3p0、Druid) 配置说明.RP

    1. 引言 1.1 定义 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标.数据库 ...

随机推荐

  1. SVN使用小结

    SVN是Subversion的简称.是一个开放源码的版本号控制系统.在它的管理下,文件和文件夹能够超越时空的限制,权且当作一种奇妙的"时间机器"吧. 基本功能 版本号控制 作为一个 ...

  2. Merge Interval leetcode java

    题目: Given a collection of intervals, merge all overlapping intervals. For example, Given [1,3],[2,6] ...

  3. 比较windows phone程序启动和android程序启动原理

    windows phone 程序是如何启动的了,他和android程序有什么区别,我们重点从native code 层面来分析 在windows phone 程序启动的时候是: 在XAML中使用应用程 ...

  4. 支持按行号区域文本选择的NotePad++插件开发

    近期发现NotePad++不支持按行号区间的文本复制,就想自己动手开发一个NotePad++插件,支持输入起始行号和结束行号,然后复制该区域的文本到新文档或者拷贝到系统剪切板,方便文本的操作. 效果例 ...

  5. json字符串和dict互转

    json字符串和dict互转 import json str = '{"params":[{"id":222,"offset":0},{&q ...

  6. Linux shell 脚本入门教程+实例

    原文:http://www.wiquan.com/article/136 为什么要进行shell编程 在Linux系统中,虽然有各种各样的图形化接口工具,但是shell仍然是一个非常灵活的工具.She ...

  7. wepy - 与原生有什么不同(slot插槽)

    wepy官方文档是这样介绍的 简单描述就是: index.wpy:子组件 panel.wpy:父组件 1.slot是内容分发的占位符 2.slot父组件在子组件使用时,名称必须一致 3.slot子组件 ...

  8. 算法笔记_170:历届试题 分糖果(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 有n个小朋友围坐成一圈.老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏: 每个小朋友都把自己的糖果分一半给左手边的孩子. 一轮分糖后 ...

  9. vb中adOpenKeyset, adLockOptimistic

    adOpenStatic 向前游标adOpenKeyset 键集游标adLockOptimistic设置窗口为固定的大小 附带一个小资料: ------------------------------ ...

  10. promise 承诺

    概念 ES6 原生提供了 Promise 对象. 所谓 Promise,就是一个对象,用来传递异步操作的消息.它代表了某个未来才会知道结果的事件(通常是一个异步操作),并且这个事件提供统一的 API, ...