java 小鸡_java_小鸡篇_JDBC(1)

JDBC(Java Data Base Connectivity),用于实现java语言编程与数据库连接的API。

JDBC体系结构由两层组成:

JDBC API :提供java应用程序到JDBC管理器的连接

JDBC驱动程序API:支持JDBC管理器到驱动程序的连接

建立JDBC连接:

导入JDBC包:

import java.sql.*

注册JDBC驱动程序并创建连接对象conn:

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

Connection conn= null;

conn= DriverManager.getConnection("jdbc:mysql://hostname:port/db_name","db_username","db_password");

conn.close();

这样,我们的JDBC连接即已建好。

交互

连接建立后,通常通过JDBC Statement、CallableStatement和PrepareStatement这3个接口进行交互。

Statement:用于使用静态SQL语句,不能接受参数;

创建Statement对象:

Statement stmt = null;try{

stmt=conn.createStatement();

}catch(SQLException e){

...

}finally{

...

}

该对象常用的3种方法:

boolean execute(String SQL ):检索SQL运行后结果是否存在,有则返回true,没有则返回false;

int executeUpdate(String SQL):检索SQL语句所影响的行数,常用于会影响多行改动的SQL语句,如INSERT、UPDATE、DELETE;

ResultSet executeQuery(String SQL):返回运行后的结果集合,常用于SELECT;

关闭Statement对象:

finally{

stmt.close();

}

PreparedStatement:扩展了Statement接口,可支持动态,可接受参数,参数类型只使用IN;

创建PreparedStatement对象:

PreparedStatement pstmt = null;try{

String SQL= "Update employees SET age = ? WHERE id = ?";

pstmt=conn.prepareStatement(SQL);

...

}catch{

...

}finally{

pstmt.close();

}

其中?即表示要输入的参数。通过stmt.setXXX(number,value);输入参数,其中XXX表示参数数值类型,number表示?在程序出现的位置,从1开始计数;value表示输入参数的值;

Statement对象可用的3种方法都可以使用。

CallableStatement:相比于PreparedStatement对象,其参数类型有IN、OUT、INOUT三种;

创建CallableStatement对象:

CallableStatement cstmt = null;try{

String strSQL= "{call getEmpName(?,?)}";

cstmte=conn.prepareCall(SQL);

...

}catch(SQLException e){

...

}finally{

cstmt.close();

}

对比前面的3种方法,CallcbleStatement多了一种方法:registerOutParameter(),该方法将JDBC数据类型绑定到存储过程并返回预期数据类型。

当调用存储过程,可以使用适当的getXXX()方法从OUT参数中检索该值。 此方法将检索到的SQL类型的值转换为对应的Java数据类型。

内容来源于网络如有侵权请私信删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值