关于jdbc的一些疑问

1.为什么强调在使用jdbc时,需要在使用的时候才打开连接(Connection),用完后立马关闭。如果我的连接(Connection)一开始就打开,在整个程序结束时才关闭,会带来什么后果呢?

2.为什么要使用连接池?而且在使用连接池的时候也要强调连接的打开和关闭?如果不使用连接池,会带来什么样的性能影响?

总之,总觉得自己照猫画虎会使用JDBC或c3p0写数据库访问程序了,但关于connection、statement这些概念,以及性能方面的影响仍然一无所知。

不知道是否有高人指点。

关于jdbc的一些疑问

时间: 2024-12-08 02:07:33

关于jdbc的一些疑问的相关文章

java JDBC 连接数据库查询数据与直接使用sql的疑问

JDBC 封装连接是好的前提: SystemAuthorizingRealm c = new SystemAuthorizingRealm(); conn = c.getConnection(); // conn = ((DataSource) SpringContextUtil.getBean("dataSource")).getConnection(); PreparedStatement ps = conn.prepareStatement(sql); ps.setString(

com.mysql.jdbc.Driver和org.gjt.mm.mysql.Driver的疑问

通过查看源码,发现原来org.git.mm.mysql.Driver是com.mysql.jdbc.Driver的子类: public class Driver extends com.mysql.jdbc.Driver { /** * Creates a new instance of Driver * * @throws SQLException * if a database error occurs. */ public Driver() throws SQLException { su

registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped.

最近在用maven整合SSH做个人主页时候,在eclipse里面使用tomcat7插件发布项目是没有问题的,但当打包成war之后,使用tomcat7单独发布项目,就出现了以下的错误. 严重: Context [/wangxin] startup failed due to previous errors 八月 16, 2017 7:29:12 下午 org.apache.catalina.loader.WebappClassLoaderBase clearReferencesJdbc 严重: T

将jdbc连接明文密码加密方案

最近没有及时写文章,把最近处理的几个问题集中了一下写出来.这篇文章是关于如何处理spring项目中引入数据库连接等 使用的用户名和密码的明文进行加密.防止被他人窃取利用. 我们选择的加密方式为DES加密解密方案.直接上代码: 1. 首先要编写一个DES加密解密工具. package com.nc.jdbc; import com.nc.utils.Base64; import javax.crypto.*; import javax.crypto.spec.DESKeySpec; import

JDBC的进化

1.数据的存储方式的进化 ①字符串 ②数组 ③文件 ④数据库 其中①和②是存在内存中,会随着程序的终止而结束,不会保留到本地磁盘 ③和④则会将数据存储到本地磁盘,而④可以对数据进行管理,可以根据不同的应用场景选择不同量级的数据库 2.JDBC的进化 起源: Java程序要对磁盘中的数据进行读写,各大数据库厂商提供了相应的驱动,Java提供了相应的接口进行连接. 进化1:面向对象编程 @Test public void testOrclJdbc1() throws SQLException { D

MySQL JDBC 出现多个 SHOW VARIABLES 语句。

一次偶然的机会,show processlist 的时候,发现有个 Client 一直在执行  "mysql-connector-java-5.1.21 ( Revision: ${bzr.revision-id} ) */SHOW VARIABLES WHERE Variable_name" 后面和基友一起讨论,稍微缕了一下.大概思路是这样的的: 1.MySQL JDBC 连接过程大概如下(开启 general log 获得的信息): 5089492 Connect [email p

Eclipse JavaEE下引用jdbc时报错:找不到DB驱动及连接的解决方法

搭建购物网站的时候把IDE换成了Eclipse JavaEE.之前在MyEclipse环境下工作时配置jdbc都是直接右击项目通过build path引入相应的jar包,但这种做法在Eclipse下行不通——在调用DB时eclipse会一直提示找不到DB驱动和连接.网上搜索了一下,发现将jdbc的jar包引入到project的WebContent/WEB-INF/lib目录下即可解决问题. 原文连接:http://blog.csdn.net/liyong199012/article/detail

Spring整合JDBC模板方法设计模式之基于继承的实现

Spring整合JDBC模板方法设计模式之基于继承的实现: 模板设计模式简单描述: 把相同的部分提取出来,当我们运行的时候自动往里面设置值,在JdbcTemplate 的源代码中得execute(). 他把公共的部分拎出来写到一个特别的函数中,当我们使用的时候把会发生变化的内容在特定的部分调用,在不同的类里面处理相同的操作,这种方式就做模板设计模式. 例如,JdbcTemplate类中的方法: // ------------------------------------------------

MySQL JDBC的queryTimeout的一个坑

遇到一个MySQL JDBC的queryTimeout的坑,比较恶心,算是它的BUG,也可以不算,^_^,为啥这么说?看一下下面的解释: 现象: 用同一个Connection执行大批量SQL的时候,导致了OOM现象. 细节现象描述: 1.SQL是从某个存储设备上拿到的,不会直接占用大量的内存,每次只会取最多1千条数据过去,也会判定容量不超过多少M. 2.每一批SQL执行会单独创建Statement对象,执行一批SQL后,会将这个Statement关闭掉. 3.SQL语句中只有insert,没有其