JDBC连接简介

时间:2014-05-08 09:10:38   收藏:0   阅读:466

Connection

连接对象,用于与数据库取得连接

Driver

用于创建连接(Connection)对象

Statement

语句对象,用于执行SQL语句,并将数据检索到结果集(ResultSet)对象中

PreparedStatement

预编译语句对象,用于执行预编译的SQL语句,执行效率比Statement高

CallableStatement

存储过程语句对象,用于调用执行存储过程

ResultSet

结果集对象,包含执行SQL语句后返回的数据的集合

bubuko.com,布布扣

static Class forName(String className)

throws ClassNotFoundException

将由className指定完整名称的类加载到JVM中,如果加载失败,将抛出异常,必须捕捉

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  //加载并注册驱动程序

bubuko.com,布布扣成功加载驱动后,必须使用DriverManager类的静态方法getConnection来获得连接对象;

方 法 原 型

说 明

static Connection getConnection

(String url, String user,

String password)

throws SQLException

参数url是连接字符串,参数user是数据库用户名,参数password是登录口令,成功连接到数据库返回Connection对象,连接失败则抛出SQLException异常,必须捕捉

Connection con =DriverManager.getConnection("sun.jdbc.odbc.JdbcOdbcDriver", "scott",orcl"");

bubuko.com,布布扣一旦成功连接到数据库,获得Connection对象后,必须通过Connection对象的createStatement方法来创建语句对象,才可以执行SQL语句

方 法 原 型

说 明

Statement createStatement()

throws SQLException

成功创建返回Statement对象,否则抛出SQLException异常,必须捕捉

bubuko.com,布布扣如:Statement sta = con.createStatement();

bubuko.com,布布扣使用语句对象来执行SQL语句,有两种情况:

bubuko.com,布布扣一种是执行DELETE、UPDATE和INSERT之类的数据库操作语句(DML),这样的语句没有数据结果返回,使用Statement对象的executeUpdate方法执行;

方 法 原 型

说 明

int executeUpdate(String sql)

throws SQLException

参数sql是要执行的SQL语句,执行成功返回受影响的行数,执行失败则抛出SQLException异常,必须捕捉

bubuko.com,布布扣如:sta.executeUpdate("INSERT INTO Friends VALUES(‘田七‘, ‘重庆‘, 456712, ‘2003-2-25‘, 7500)");

bubuko.com,布布扣另一种是执行SELECT这样的数据查询语句(DQL),这样的语句将从数据库中获得所需的数据,使用Statement对象的executeQuery 方法执行;

方 法 原 型

说 明

ResultSet executeQuery(String sql)

throws SQLException

参数sql是要执行的SQL语句,查询成功返回包含有结果数据的ResultSet对象,否则抛出SQLException异常,必须捕捉

bubuko.com,布布扣如:ResultSet rs =sta.executeQuery("SELECT * FROM Friend");

bubuko.com,布布扣使用Statement对象的executeQuery方法成功执行SELECT语句后,将返回一个包含有结果数据的ResultSet对象,要从该对象中获取数据,将使用到如下方法:

方 法 原 型

说 明

boolean next()

throws SQLException

将结果集游标往下移动一行,如果已经到达结果集最后,将会返回false,有可能抛异常,必须捕捉

X getX(String columnName)

throws SQLException

获得某个字段的值,X是指具体的数据类型,视数据库表中字段的具体情况而定,该方法有一组,并且每个都有两种重载方法,一种是以字段名称为参数,另一种是以字段索引为参数(字段索引从1开始),有可能抛异常,必须捕捉

X getX(int columnIndex)

throws SQLException

bubuko.com,布布扣当对数据库的操作结束后,应当将所有已经被打开的资源关闭,否则将会造成资源泄漏;

bubuko.com,布布扣Connection对象、Statement对象和ResultSet对象都有执行关闭的close方法;

bubuko.com,布布扣函数原型都是:void close() throws SQLException

–如:

rs.close(); //关闭ResultSet对象

sta.close(); //关闭Statement对象

con.close(); //关闭Connection对象

bubuko.com,布布扣有可能抛出SQLException异常,必须捕捉;

bubuko.com,布布扣请注意关闭的顺序,最后打开的资源最先关闭,最先打开的资源最后关闭。

 

 

 

 

 

package jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Testjdbc {
    public static void main(String[] args) throws SQLException {
        try
        {
            Class.forName("oracle.jdbc.driver.OracleDriver");//加载并注册驱动程序
        }catch(ClassNotFoundException e)//加载错误,捕获异常
        {
            System.out.println("加载驱动失败");
        }
          Connection con =DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott","tiger"); //创建Connection连接对象
            Statement sta = con.createStatement(); //创建语句对象
            ResultSet rs=sta.executeQuery("select * from emp"); //4,执行语句对象,如果查询,要把查询结果 放到结果集当中
            while(rs.next()){ //当没有到结尾的时候
                System.out.print(rs.getInt("empno")+" ");//用Get方法获取字段的值
                System.out.print(rs.getString("ename")+" ");
                System.out.print(rs.getDouble("sal"));
                System.out.println();
            }
            //5,关闭资源
            rs.close();
            sta.close();
            con.close();
           
    }
}

JDBC连接简介,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!