
JDBC
阿良的空间
这个作者很懒,什么都没留下…
展开
-
使用DBCP创建连接池
使用DBCP创建连接池,需要两个jar包,同时需要一个配置文件commons-pool.jar commons-dbcp-1.2.2.jardbcpconfig.properties////dbcpconfig.properties内容如下:#连接设置driverClassName=com.mysql.jdbc.Driverurl=jdbc:mysql://lo原创 2013-11-28 23:14:19 · 827 阅读 · 0 评论 -
Oracle 中大数据的处理
Oracle 定义了一个BLOB 字段用于保存二进制数据,但这个字段并不能存放真正的二进制数据,只能向这个字段存一个指针,然后把数据放到指针所指向的Oracle 的LOB 段中,LOB 段是在数据库内部表的一部分。因而在操作Oracle 的Blob 之前,必须获得指针(定位器)才能进行Blob 数据的读取和写入。如何获得表中的Blob 指针呢? 可以先使用insert 语句向表中插入一个空的blo转载 2013-12-17 23:30:05 · 920 阅读 · 0 评论 -
JDBC多表操作---多对多
JDBC对多表的操作中,除了一对多或多对一外,还有多对多的关系;对多对多的操作,会比较复杂点。在这里,以教师和学生的关系来演示JDBC对多表操作中的多对多的操作。首先需要描述清楚教师和学生之间的关系。我们知道一个教师负责给很多学生授课,同时一个学生一般会听很多教师的课程。下面分别以代码和Mysql数据库来描述老师和学生这两个对象,具体如下:用SQL语言来描述老师和学生的关系,需要分别创原创 2013-12-16 23:03:41 · 1240 阅读 · 0 评论 -
JDBC操作多个表(一对多)
数据库操作中,常常会涉及到多表操作。多表操作涉及到的大致有:一对多或多对一关系多对多关系这里就一一进行举例来进行演示:首先针对一对多关系可以以现实中部门和员工的关系来说明此现象。一般情况下,一个部门会有很多员工,而一个员工通常只属于一个部门。下面是部门和员工的对象关系和数据库关系图:原创 2013-12-16 17:03:57 · 3978 阅读 · 1 评论 -
Ubtils中事务处理
dbutils中处理事务,其连接池需要手动获取和手动关闭,因此需要使用QurryRunner类中的默认构造函数。使用带Connection参数的query和update,获取batch方法来操作sql语句。使用带参数的QurryRunner的构造函数,没执行一条sql语句,都将自动获取连接和产生和关闭preparestament 和resultset。下面是事物处理示例://向account数原创 2013-12-12 22:02:51 · 1009 阅读 · 0 评论 -
Apache dbutils使用示例
commons-dbutils是Apache组织提供的一个开源JDBC工具类,是对JDBC简单的封装,使用dbutils在不影响性能的情况下,能极大第简化对数据库的操作;dbutils有两个API: org.apache.commons.dbutils.QueryRunner org.apache.commons.dbutils.ResultSetHandler下面分别描述下这两个类原创 2013-12-10 23:08:39 · 1092 阅读 · 0 评论 -
通过tomact服务器配置文件创建链接池
前几篇中有说使用DBCP,C3P0和自定义方法创建数据库链接池,这里还有另外一种方法,即通过Tomcat服务器来创建连接池。Tomcat服务器创建的数据库链接池,其自身也是通过DBCP来创建的。Tomcat服务器是通过在中来配置一个Jndi容器,使这个链接池绑定到一个Jndi容器中,同时将她关联到一个名称上,code中通过查找Jndi容器来获取这个链接池。下面是从Tomcat 文档截下来的原创 2013-12-03 14:34:48 · 1004 阅读 · 0 评论 -
c3p0 - JDBC3 Connection and Statement Pooling
c3p0 - JDBC3 Connection and Statement Poolingversion 0.9.2-pre1by Steve Waldman swaldman@mchange.com>© 2006 Machinery For Change, Inc.This software is made available for use, modification,转载 2013-12-01 23:46:23 · 2491 阅读 · 0 评论 -
数据库分页技术
在web页面上,当查询某项内容时,有时候会显示出很多内容,一个页面难于显示完全。需要分页显示,但是一次性将这些技术都读出来存放在内存,将耗费大量内存。主流的一些数据库,提供了分页技术:MySQL分页技术实现: Select * from table limit M,N M:记录开始索引位置 N:取多少条记录Oracle分页语句: select * from (原创 2013-12-08 13:28:50 · 708 阅读 · 0 评论 -
使用c3p0创建连接池
使用C3P0创建连接池需要的jar包:c3p0-0.9.2-pre1.jarmchange-commons-0.2.jarc3p0-oracle-thin-extras-0.9.2-pre1.jar //oracle 数据库还需要此jar包使用此C3P0创建连接池有两种方式,一个是不基于配置文件的,直接在代码中写死。另外一中是基于配置文件的方法,配置文件,可以是xml文件(原创 2013-12-01 23:41:54 · 1043 阅读 · 0 评论 -
JDBC 数据库批处理操作
由于建立数据库连接是一个很消耗资源和时间的操作,一般建立连接的要求尽可能晚建立,尽可能早释放。但是对于执行多条sql语句时,要是频繁第建立连接释放连接,效率会很低。因此可能通过JDBC的批处理来优化此操作。即建立一次连接,执行多条sql语句。主要用到的方法:PreparedStatement.addBatch(); //增加一条sql语句,sql语句必须一致,发送的sql语句经过了预编译,原创 2013-12-08 11:37:38 · 623 阅读 · 0 评论 -
数据URL
URL用于标识数据库的位置,程序员通过URL地址告诉JDBC程序连接哪个数据库,URL的写法为: jdbc:mysql:[]//localhost:3306/test?参数名:参数值常用数据库URL地址的写法:Oracle写法:jdbc:oracle:thin:@localhost:1521:sidSqlServer—jdbc:microsoft:sqlserve原创 2013-12-08 12:25:24 · 695 阅读 · 0 评论 -
使用元数据来优化JDBC对数据库的CURD操作
元数据可以用来优化JDBC对数据库的CURD操作。其中增、删、改可以优化为同一个接口,查询比较复杂些,可单独优化为一个接口。增删改优化为如下,此方法接受两个参数,sql语句和sql语句中对应的参数:public static int update(String sql, Object[] params){ if(sql.equals("") || sql==null){ r原创 2013-12-07 01:21:53 · 800 阅读 · 0 评论 -
JDBC 可滚动结果集
JDBC提供了可滚动结果集,可以向前滚,也可以向后滚。下面是几个APIStatement st = connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);//可回滚参数 ResultSet rs = st.executeQuery(sql);rs.beforeFirst原创 2013-12-08 12:06:42 · 954 阅读 · 0 评论 -
解决Proxy.newProxyInstance创建动态代理导致类型转换错误的问题
在使用Proxy.newProxyInstance创建动态代理时,有时会导致类型转换错误。package cn.itcast.demo;import java.io.InputStream;import java.io.PrintWriter;import java.lang.reflect.InvocationHandler;import java.lang.refl原创 2013-11-28 22:19:55 · 7131 阅读 · 0 评论 -
JDBC操作多表----- 一对一
JDBC操作多表,表之间的关系还有一种是一对一关系,这种一对一关系为主从关系,即一个表是依赖以另一个表而存在的,下面以Person和身份证两个对象为例来进行说明和演示。通常每个人都有一个身份证,而且必须是唯一一个身份证,每个身份证指定唯一一个人的身份。这时人和身份证就是一一对应关系,同时人是主,身份证是从。脱离了人,身份证便失去意义,不允许一个身份证指向一个不存在的人。下面是sql语言描述Pe原创 2013-12-17 23:17:26 · 1049 阅读 · 0 评论