我仍在研究提到

here的同样问题.它似乎工作正常,特别是在创建如下所示的AbstractModel类之后:

public abstract class AbstractModel {

protected static Connection myConnection = SingletonConnection.instance().establishConnection();

protected static Statement stmt;

protected static ResultSet rs;

protected boolean loginCheck; // if userId and userLoginHistoryId are valid - true, else false

protected boolean userLoggedIn; // if user is already logged in - true, else false

public AbstractModel (int userId, Long userLoginHistoryId){

createConnection(); // establish connection

loginCheck = false;

userLoggedIn = false;

if (userId == 0 && userLoginHistoryId == 0){ // special case for login

loginCheck = true; // 0, 0, false, false

userLoggedIn = false; // set loginCheck to true, userLogged in to false

} else {

userLoggedIn = true;

try{

String query = "select \"user_login_session_check\"(" + userId + ", " + userLoginHistoryId + ");";

System.out.println("query: " + query);

stmt = myConnection.createStatement();

rs = stmt.executeQuery(query);

while (rs.next()){

loginCheck = rs.getBoolean(1);

}

} catch (SQLException e){

System.out.println("SQL Exception: ");

e.printStackTrace();

}

}

}

// close connection

public void closeConnection(){

try{

myConnection.close();

} catch (SQLException e){

System.out.println("SQL Exception: ");

e.printStackTrace();

}

}

// establish connection

public void createConnection(){

myConnection = SingletonConnection.instance().establishConnection();

}

// login session check

public boolean expiredLoginCheck (){

if (loginCheck == false && userLoggedIn == true){

closeConnection();

return false;

} else {

return true;

}

}

}

我已经在上面问题的链接中发布了存储过程和Singleton Pattern实现.

我的印象是,在每次单个数据事务之后,我不需要关闭与数据库的连接,因为它只会减慢应用程序的速度.我正在为我正在构建的这个系统寻找大约30个用户,因此性能和可用性非常重要.

延长至少3-4次数据交易的连接是否正确?例如.验证检查某些表单的用户输入,或类似于谷歌的自动建议…这些都是基于用户输入的单独存储的函数调用.我可以使用一个连接实例,而不是在每次数据事务后连接和断开连接吗?哪个更有效率?

如果我的假设是正确的(使用一个连接实例更有效),那么应该在控制器中处理连接的打开和关闭,这就是我创建createConnection()和closeConnection()方法的原因.

谢谢.

java jdbc效率_Java JDBC效率:连接需要多长时间?相关推荐

  1. java jdbc事务_Java JDBC事务管理和保存点

    java jdbc事务 Transaction Management in java is required when we are dealing with relational databases ...

  2. java jdbc 批处理_Java JDBC批处理插入数据操作

    在此笔记里,我们将看到我们如何可以使用像Statement和PreparedStatement JDBC API来批量在任何数据库中插入数据.此外,我们将努力探索一些场景,如在内存不足时正常运行,以及 ...

  3. Kafka | Java 消费者是如何管理TCP连接的? | 极客时间

    今天我要和你分享的主题是:Kafka 的 Java 消费者是如何管理 TCP 连接的. 在专栏中,我们专门聊过"Java生产者是如何管理 TCP 连接资源的"这个话题,你应该还有印 ...

  4. .net跨防火墙链接oracle连接池链接长时间无通讯数据被断开后报错问题解决

    环境: .net 4.0以上使用Oracle.ManagedDataAccess组件链接oracle数据库,应用程序与数据库之间存在硬件防火墙. 症状:应用程序启动后正常访问,如果出现长时间无数据库请 ...

  5. java jdbc 教程_java JDBC系列教程之JDBC类的简析与JDBC的基础操作

    什么是JDBC? 概念:JAVA Database Connectivity Javas数据库连接,Java语言操作数据库接口,然后由各个数据库厂商去实现这个接口,提供数据库驱动java包,我们可以使 ...

  6. java程序移植_java JDBC 提高程序可移植性

    介绍jdbc一般的程序: [程序编程相关:jb+oracle+weblogic c] 很多java初学者在开始接触jdbc编程的时候,在网上与大部分的教材上都是这样 [推荐阅读:Java线程入门--什 ...

  7. java callback 多线程_JAVA Callback效率测试

    在最近的联网电商项目中,想要实现单个web容器内的支付请求,全部能够统一宏观上同步,实现粒度上面异步,找来找去,没有相关方面的框架或者方案,于是最后基于现实场景,打算使用Java callback 的 ...

  8. java resultset查询_Java -- JDBC 学习--通过 ResultSet 执行查询操作

    voidtestResultSet(){//获取 id=4 的 customers 数据表的记录, 并打印 Connection conn= null; Statement statement= nu ...

  9. java sql 参数_java jdbc连接数据库,Properties 属性设置参数方法

    今天在整合为数据库发现在配置中实现的赋值方式,可以用代码实现.特记录下共以后参考: 代码: // 操作数据库 Connection conn; String strDatabase ="no ...

最新文章

  1. LR菜鸟入门 -- LightRoom安装/预设
  2. 「ProtocolBuffers2」ProtocolBuffers2 Python简易入门
  3. golang语言学第四课:循环
  4. 19_03_26校内训练[魔法卡片]
  5. Maven的pom报错的解决方法
  6. cleanmymac X 4.7.3更新(支持M1芯片)
  7. react16-reactDom.render流程分析
  8. 超声乳化设备行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  9. java Socket使用注意
  10. spreadjs使用
  11. linux eclipse安装使用教程
  12. win10 Network Location Awareness 错误:1068依赖服务或组无法启动
  13. Java--汽车之家论坛反爬虫破解
  14. 程序员的超强本地构建工具
  15. 一个被忽视的强大搜图技能——以图搜图
  16. a0图框标题栏尺寸_机械制图标准中规定的标题栏尺寸
  17. tablet2+android,z2tablet不开机了 怎么处理,索尼Sony Xperia 安卓平板论坛
  18. 国内计算机期刊英语版本,国内计算机类期刊 SCI收录:(示例代码)
  19. 斐波那契数列(剑指offer 10-I)
  20. 隐藏攻击面,提升信息安全防范能力

热门文章

  1. 会话中的存储技术和一些细节
  2. vim中实现CSS、HTML代码自动完成功能
  3. 网站DDOS***防护实战老男孩经验心得分享
  4. Java中定义VO事件的问题
  5. Openldap/ldap 双向同步/复制/Mastsr/slave
  6. 为何那么多人的网名都叫易天啊
  7. 【项目实战】---使用ajax完毕username是否存在异步校验
  8. js学习笔记1---使用方法
  9. 数据结构Java实现05----栈:顺序栈和链式堆栈
  10. DBSNMP和SYSMAN用户初始密码及正确的修改方式