Jdbc复习1

来源:互联网 发布:迅雷网络 编辑:程序博客网 时间:2024/04/30 14:02

一、  Jdbc简介

jdbc全称为:java Data base Connectivity(java数据库连接)它主要由接口组成。

组成JDBc的有两个包:java.sql  and javac.sql;

当开发jdbc是还需要导入相应的数据驱动:我正在用得是:                              ;

二、下面来介绍一个JDBC开发的案例;

编写一个程序来从user表中读取数据;并且打印在命令行窗口中;

1.搭建环境,、

 

1)           在mysql中创建一个名为haozi的数据库,然后新建一个名为user的表,插入表数据;

2)           新建一个java工程,并导入上文所说的驱动。

2.编写程序,首先要加载驱动;

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

 

3.建立连接(Connection)或许conn对象;

 Connection conn =DriverManager.getConnection(url,user,pass);

 

4.创建用于向数据库发送sql的Statement对象,并发送sql请求;

Statement st =conn.createStatement();

ResultSet rs =st.excuteQuery(sql);

 

5.从代表结果中集中得ResultSet中取出相关数据,打印出来;

6.最后要断开数据库的连接,并释放资源 释放资源;

 

三、对DriverManager的详解;

1、Jdbc中DriverManager在加载驱动是被应用,并且创建与数据库的连接,她常用的方法在API中是这样的:

‘DeriverManager.registerDeriver(newDeriver)’<不常用:此方式会导致驱动程序注册两次,>

‘ DeriverManager.getConnection(url,user,password)’<常用>

 

 

四、数据库url 介绍;

 

1、             Url用于标识数据库的位置,程序要通过URL地址来告诉JDBC连接那个数据库,URl的写法为:

“jdbc:mysql://localhost(主机名):3306(安装时的选择。一般为3306)/数据库名,?参数名,参数值”

 

常用数据库URL地址的写法:

Oracle写法:jdbc:oracle:thin:@localhost:1521:sid

SqlServer-jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=sid

MySql—jdbc:mysql://localhost:3306/sid

Mysql的url地址的简写形式: jdbc:mysql:///sid

常用属性:useUnicode=true&characterEncoding=UTF-8

下面附上一个写好的URL,供参考:

URL="jdbc:mysql://localhost:3306/3gbook?user=root&password=525&userUnicode=true&characterEncoding=UTF-8";

五、Connection详解

 

Jdbc程序中的Connection,它用于代表数据库的链接,Collection是数据库编程中最重要的一个对象,客户端与数据库所有交互都是通过connection对象完成的,这个对象的常用方法:

createStatement():创建向数据库发送sql的statement对象。

prepareStatement(sql) :创建向数据库发送预编译sql的PrepareSatement对象。

prepareCall(sql):创建执行存储过程的callableStatement对象。

setAutoCommit(boolean autoCommit):设置事务是否自动提交。

commit() :在链接上提交事务。

rollback() :在此链接上回滚事务。

六、Statement对象

Jdbc程序中的Statement对象用于向数据库发送SQL语句, Statement对象常用方法:

executeQuery(String sql) :用于向数据发送查询语句。

executeUpdate(String sql):用于向数据库发送insert、update或delete语句

execute(String sql):用于向数据库发送任意sql语句

addBatch(String sql) :把多条sql语句放到一个批处理中。

executeBatch():向数据库发送一批sql语句执行。

 

七、ResultSet对象

Jdbc程序中的ResultSet用于表达sql语句的执行结果。ResultSet封装执行结果

ResultSet是用于封装执行结果的,所以该对象提供的都是用于获取数据的get方法:

获取任意类型的数据

getObject(int index)

getObject(string columnName)

获取指定类型的数据,例如:

getString(int index)

getString(String columnName)

   下面附上常用数据类型转换表;

 

 

 

 

九、ResultSet对象

ResultSet还提供了对结果集进行滚动的方法:

next():移动到下一行

Previous():移动到前一行

absolute(int row):移动到指定行

beforeFirst():移动resultSet的最前面。

afterLast() :移动到resultSet的最后面。

 

十、释放资源

     Jdbc程序运行完后,切记要释放程序在运行过程中,创建的那些与数据库进行交互的对象,这些对象通常是ResultSet,Statement和Connection对象。

特别是Connection对象,它是非常稀有的资源,用完后必须马上释放,如果Connection不能及时、正确的关闭,极易导致系统宕机。Connection的使用原则是尽量晚创建,尽量早的释放。

为确保资源释放代码能运行,资源释放代码也一定要放在finally语句中。