JDBC与数据库访问(笔记)

JDBC与数据库访问

JDBC(Java DataBase Connectivity, java的数据库连接)是一种用于执行SQL语句的java API,可以为多种关系数据库提供统一访问,它由一组用java语言编写的类和接口组成。
JDBC的体系结构分为5层:应用程序、JDBC API、JDBC驱动管理员、JDBC驱动程序和数据库。

JDBC 驱动程序

JDBC-ODBC桥

本地API

网络纯Java驱动程序

本地协议纯Java驱动程序

JDBC基本组件

  1. 加载驱动程序。为数据库管理系统加载一个JDBC驱动程序。通过Class.forName()方法调用来完成这一操作,需要给出驱动类的名称。
  2. 打开数据库连接。使用驱动程序打开特定数据库的连接。
  3. 获得Statement对象。
  4. 执行SQL语句。通过Statement提出SQL请求。
  5. 处理结果集。结果返回结果集则对结果集进行处理。
数据访问代码

在这里插入代码片


Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//加载驱动程序
Connection con = DriverManager.getConnection("jdbc:odbc:student","user","password");//打开数据库连接
Statement stmt = con.cresteStatement();//获取Statement对象
ResultSet rs = stmt.executeQuery("select a,b,c from table");//执行SQL语句
while (rs.next()){
     
int x = rs.getInt{
     "a"};
String s = rs.getString("b");
float f = rs.getFloat("c");
}
访问数据库详细过程
  1. 加载驱动程序
  2. 建立连接
  3. 获得Statement
  4. 执行SQL语句
  5. 处理结果集
public class StudentSQL{
     
 public static void main (String [] args){
     
   Connection con = null;
   Statement stmt = null;
   ResultSet rs = null;
   String strTemp = "";
   //加载驱动
   try{
   Class.forName(""sun.jdbc.odbc.JdbcOdbcDriver);
  }
  catch(ClassNotFoundException e){
     }
  //建立数据库连接
  try{
     
   con = DriverManager.getConnection("jdbc:odbc:student","","");
   stmt = con.createStatement();
  }catch(SQLException ee){
     }
  //建立表
  strTemp = "create table student (id test(20) primary key,name text(20),gender text(0),address text(50),phone text(20),major text(30))";
  try{
     
  stmt.executeUpdate(strTemp);
  }catch (SQLException e){
     
   e.printStackTrace();
   }
   //添加数据
   strTemp = "insert into student values ('xxxxx','测试','性别','地址','电话','身份证号')"try{
     
   stmt.excuteUpdate(strTemp);
   }catch (SQLException e){
     
   e.printStackTrace();
   }
   //获取并浏览数据
   strTemp="select * from student";
   try{
     
    rs = stmt.executeQuery(strTemp);
    while(rs.next()){
     
   System.out.println(rs.getString("id"));
   System.out.println(rs.getString("name"));
   System.out.println(rs.getString("gender"));
   System.out.println(rs.getString("address"));
   System.out.println(rs.getString("phone"));
   System.out.println(rs.getString("major"));
     }
      }catch(SQLException e){
     
   e.printStackTrace();
  }
	//释放资源
	try{
     
	 rs.close();
	 stmt.close();
	 con.close();
	    }catch (SQLException e){
     
	 e.printStackTrace();
  }
 }
}

注意释放资源一般写在finally语句快中,所释放的资源一般有ResultSet,Statement和Connection。

你可能感兴趣的:(笔记,java,数据库)