java_第一年_JDBC(1)

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

数据库驱动:应用程序并不能直接使用数据库,而须要经过相应的数据库驱动程序后再操做数据库;而JDBC就是实现应用程序去加载具体的驱动;mysql

应用程序---JDBC--->驱动程序-->数据库sql

创建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链接即已建好。编程

交互spa

链接创建后,一般经过JDBC Statement、CallableStatement和PrepareStatement这3个接口进行交互。code

而建立这3种接口的方法分别是Connection类中的createStatement()、prepareStatement(sql)、prepareCall(sql)方法;除了这3种方法外,Connection类还提供了对象

setAutoCommit(boolean autoCommit)方法:是否事务自动提交;blog

commit()方法:提交事务;接口

roolback()方法:回滚事务

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

建立Statement对象:

Statement stmt = null; try{ stmt = conn.createStatement(); }catch(SQLException e){ ... }finally{ ... } 

该对象经常使用的方法:

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

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

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

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

executeBatch():批量处理一批sql语句;

关闭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对象可用的方法均可以使用。

  • 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数据类型。

Jdbc程序运行完后,切记要释放程序在运行过程当中,建立的那些与数据库进行交互的对象,这些对象一般是ResultSet, Statement和Connection对象,特别是Connection对象,它是很是稀有的资源,用完后必须立刻释放,若是Connection不能及时、正确的关闭,极易致使系统宕机。Connection的使用原则是尽可能晚建立,尽可能早的释放。
相关文章
相关标签/搜索