JDBC编程步骤

①加载数据库驱动。Class.forName("");

//加载MySQL数据库驱动
Class.forName("com.mysql.jdbc.Driver");
//加载Oracle驱动
Class.forName("oracle.jdbc.driver.OracleDriver");

②通过DriverManager获取数据库连接

//获取数据库连接
DriverManager.getConnection(String url,String user,String pass);

数据库URL通常遵循如下写法:

jdbc:subprotocol: other stuff
//jdbc固定的
//subprotocol指定连接到 特定数据库的驱动程序
//other和stuff没有较强的规律
 //MySQL数据库的URL写法如下:
jdbc:mysql://localhost:port/databasename
//Oracle数据库的URL写法如下:
jdbc:oracle:thin:@hostname:port:databasename

 ③通过Connection对象创建Statement对象,Connection创建Statement的方法有3个:

  • createStatement();      //创建基本的Statement对象。

  • prepareStatement(String sql);  //根据传入的SQL语句创建预编译的Statement。

  • prepareCall(String sql);  //根据传入的SQL语句创建CallableStatement对象。

④使用Statement执行SQL语句,所有Statement都有3个方法执行SQL语句:

  • execute:可以执行任何SQL语句,但比较麻烦。

  • executeUpdate:主要用于执行DML和DDL语句。执行DML返回受SQL语句影响的行数。执行DDL返回0.

  • executeQuery:只能执行查询语句,执行后返回代表查询结果的ResultSet对象。

⑤操作结果集。

        如果执行的 语句是查询语句,执行结果将返回一个ResultSet对象,该对象保存来得SQL语句查询的结果。

    程序可以通过操作该ResultSet对象取出查询结果。ResultSet对象主要提供了两类方法:

  • next、previous、first、last、beforeFirst、afterLast、absolute等移动记录指针的方法。(该ResultSet为可滚动的结果集)

  • getXxx获取记录指针指向行,特定列的值。该方法可使用列索引作为参数(性能好),也可以使用列名作为参数(可读性好)。

⑥回收资源库资源,包括关闭ResultSet、Statement、Connection等资源

 

demo:ConnMySql.java

import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.DriverManager;
public class connMysql 
{
 public static void main(String[] args) throws Exception 
 {
  String url="jdbc:mysql://localhost:3306/test_db";
  String user="root";
  String pass="root";
  //1.加载驱动
  Class.forName("com.mysql.jdbc.Driver");
  //2.使用DriverManager获取数据库连接
  Connection conn = DriverManager.getConnection(url,user,pass);
  //3.使用Connection创建Statement对象
  Statement stmt = conn.createStatement();
  //4.执行SQL语句
  String sqlstr = "select * from user";
  ResultSet rs= stmt.executeQuery(sqlstr);
  while(rs.next())
  {
   System.out.println(rs.getInt(1) + "/t"
      + rs.getString(2) + "/t"
      + rs.getString(3) + "/t"
      + rs.getString(4));
  }
  //5.关闭数据库资源
  if(rs != null)
  {
   rs.close();
  }
  if(stmt != null)
  {
   stmt.close();
  }
  if(conn != null)
  {
   conn.close();
  }
 }
}

你可能感兴趣的:(java,mysql,数据库编程)