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。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值