请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

猿媛之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 3191|回复: 0

JDBC访问数据库的方法

[复制链接]

44

主题

48

帖子

198

积分

注册会员

Rank: 2

积分
198
发表于 2016-1-13 21:30:00 | 显示全部楼层 |阅读模式
      JDBCJava DataBase ConnectivityJava数据库连接)用于在Java程序中实现数据库操作功能,它提供了执行SQL语句、访问各种数据库的方法,并为各种不同的数据库提供统一的操作接口,java.sql包中包含了JDBC操作数据库的所有类。通过JDBC访问数据库一般有如下几个步骤:
       (1加载JDBC驱动器。将数据库的JDBC驱动加载到classpath中,在基于JavaEEWeb应用开发过程中,通常要把目标数据库产品的JDBC驱动复制到WEB-INF/lib
      (2)加载JDBC驱动,并将其注册到DriverManager。一般使用反射Class.forName(StringdriveName)
      (3建立数据库连接,取得Connection对象。一般通过DriverManager.getConnection(url,username,passwd)方式实现,其中,url表示连接数据库的字符串,username表示连接数据库的用户名,passwd表示连接数据库的密码
      (4建立Statement对象或是PreparedStatement对象
      (5执行SQL语句
      (6)访问结果集ResultSet对象
      (7)依次将ResultSetStatementPreparedStatementConnection对象关闭,释放掉所占用的资源。例如:rs.close()con.close()等。为什么要这么做呢?原因在于JDBC驱动在底层通常都是通过网络IO实现SQL命令与数据传输的
       以上主要介绍了访问数据库的基本步骤,在具体编写访问数据库的程序的时候还需要注意对异常进行处理。大多数JDBC操作都会抛出SQLException,以连接mysql为例介绍JDBC的使用方法
首先,创建Employee
  1. create table Employee(
  2.     id int primary key,
  3.     name varchar(20),
  4.     age int
  5. );
复制代码

   其次,创建一个示例程序,如下所示。
  1. import java.sql.*;
  2. public class Test{   
  3.     public static void main(String[] args) throws Exception {
  4.              String user = "user1";
  5.                  String password = "pwd1";
  6.                  String url = "jdbc:mysql://localhost:3306/Test";
  7.                  String driver = "com.mysql.jdbc.Driver";
  8.                  Connection con = null;
  9.                  Statement stmt = null;
  10.                  ResultSet rs = null;
  11.                  try{
  12.                      Class.forName(driver);
  13.                      con = DriverManager.getConnection(url, user, password);
  14.                      stmt = con.createStatement();                     
  15.                      stmt.execute("insert into Employee values(1,'James1',25)");
  16.                      stmt.execute("insert into Employee values(2,'James2',26)");
  17.                      rs=stmt.executeQuery("select * from Employee");
  18.                      while(rs.next()){                     
  19.                         System.out.println(rs.getInt(1)+" "+rs.getString(2)+" "+rs.getInt(3));
  20.                      }
  21.                  }
  22.                  catch(SQLException e1){                 
  23.                      e1.printStackTrace();
  24.                  }finally{         
  25.              try{
  26.                  if(rs != null) rs.close();
  27.                  if(stmt != null) stmt.close();
  28.                  if(con != null) con.close();
  29.              } catch(SQLException e) {
  30.                   System.out.println(e.getMessage());
  31.              }            
  32.          }
  33.     }
  34. }
复制代码
程序运行结果为:
  
1 James1 25
  
2 James2 26
  
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|猿媛之家    

GMT+8, 2020-2-28 13:35 , Processed in 0.250973 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表