JDBC

       JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用J编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。

第一步:加载驱动    俩种方式    具体的据别会在下面讲到

      DriverManager.registerDriver(new Driver());

      Class.forName(com.mysql.jdbc.Driver);

第二步: Connection  conn = DriverManager.getConnection(url, userName, userPassword);//获取连接 

JDBC连接的URL:协议+子协议+数据源标识

String url = "jdbc:mysql://localhost:3306/helloworld“

第三步:创建 statement  

三种方式创建    三个接口 

Statement stmt = con.createStatement() ;   
PreparedStatement pstmt = con.prepareStatement(sql) ;   
CallableStatement cstmt = con.prepareCall(sql) ;

 第四步:得到查询结果集合  

ResultSet rs= pstmt.executeQuery(sql);

第五步:释放资源

1、关闭结果集对象          
2、关闭statement对象      
3、关闭连接对象

Statement与PreparedStatement

      在对数据库只执行一次性存取的时侯,一般用 Statement 对象进行处理,PreparedStatement对象的开销比Statement大,对于一次性操作并不会带来额外的好处。statement不会初始化SQL,每次执行sql语句,相关数据库都要执行sql语句的编译。preparedstatement是预编译的,preparedstatement支持批处理,对于批量处理可以提高效率。

PreparedStatement对象的参数可以被强制进行类型转换,安全性更高。

批量处理:

当几个SQL语句一次发送到数据库中,可以减少通信开销,从而提高性能。

addBatch()

executeBatch()将返回一个整数数组,每个数组元素的表示为相应的更新语句的更新计数。
可以添加语句进行批处理,可以clearBatch()方法删除它们。此方法将删除addBatch()方法添加的所有语句。但是,不能有选择性地选择语句来删除。


DriverManager.registerDriver(new Driver());

Class.forName(com.mysql.jdbc.Driver);

这里说明一下这俩者有说明不同的地方:

Class.forName(com.mysql.jdbc.Driver);  com.mysql.jdbc.Driver 是mysql-connector-java-5.1.7-bin.jar里面的一个类, 我们知道Class.forName(xx.xx.xxx)  返回的是一个类,Class.forName(xxx.xx.xx)的作用是要求JVM查找并加载指定的类,也就是说JVM会执行该类的静态代码段.











阅读更多
换一批

没有更多推荐了,返回首页