利用JDBC连接Mysql访问数据库完成增删改查操作

JDBC是Sun公司制定的一个可以用Java语言连接数据库的技术。
一、JDBC基础知识        
        JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,并且可跨平台运行,并且不受数据库供应商的限制。
1、跨平台运行:这是继承了Java语言的“一次编译,到处运行”的特点;
2、不受数据库供应商的限制:巧妙在于JDBC设有两种接口,一个是面向应用程序层,其作用是使得开发人员通过SQL调用数据库和处理结果,而不需要考虑数据库的提供商;另一个是驱动程序层,处理与具体驱动程序的交互,JDBC驱动程序可以利用JDBC API创建Java程序和数据源之间的桥梁。应用程序只需要编写一次,便可以移到各种驱动程序上运行。Sun提供了一个驱动管理器,数据库供应商——如MySQL、Oracle,提供的驱动程序满足驱动管理器的要求就可以被识别,就可以正常工作。所以JDBC不受数据库供应商的限制。

        JDBC API可以作为连接Java应用程序与各种关系数据库的纽带,在带来方便的同时也有负面影响,以下是JDBC的优、缺点。优点如下:
操作便捷:JDBC使得开发人员不需要再使用复杂的驱动器调用命令和函数;
可移植性强:JDBC支持不同的关系数据库,所以可以使同一个应用程序支持多个数据库的访问,只要加载相应的驱动程序即可;
通用性好:JDBC-ODBC桥接驱动器将JDBC函数换成ODBC;
面向对象:可以将常用的JDBC数据库连接封装成一个类,在使用的时候直接调用即可。
        缺点如下:
访问数据记录的速度受到一定程度的影响;
更改数据源困难:JDBC可支持多种数据库,各种数据库之间的操作必有不同,这就给更改数据源带来了很大的麻烦
二、JDBC应用示例实验
实验 步骤:
1、下载mysql-connector-java-5.1.6-bin.jar驱动文件,并将该文件放到你的项目中去; 
2、在MyEclipse中的项目中添加Mysql驱动程序:在项目名上右键-> Build Path ->Add External Archiver然后选择你刚才放在项目中的文件, 点确定即可。
3、打开Mysql的各项服务,并在Mysql中建一张表。
4、编写MyEclipse与Mysql的连接程序:


public class DBUtil {
 private final static String url="jdbc:mysql://localhost:3306/test";
 private final static String user="root";
 private final static String password="111111";
 
 private Connection conn;
 private PreparedStatement ps;
 private ResultSet rs;
 
 static{
  try {
   Class.forName("com.mysql.jdbc.Driver");
  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  }
 }
 
 //连接访问
 public void getConn(){
  try {
   conn=DriverManager.getConnection(url, user, password);
  } catch (SQLException e) {
   e.printStackTrace();
  }
 }
 
 //关闭方法
 public void close(){
  try {
   if(rs!=null){
    rs.close();
   }
   if(ps!=null){
    ps.close();
   }
   if(conn!=null){
    conn.close();
   }
  } catch (SQLException e) {
   e.printStackTrace();
  }
  
 }
 
 //增删改方法
 public int update(String sql){
  int i=0;
  try {
   getConn();
   ps=conn.prepareStatement(sql);
   i=ps.executeUpdate();
   System.out.println(i);
   
  } catch (Exception e) {
   e.printStackTrace();
  }finally{
   close();
  } 
  return i;
 }
 
 //查看方法
 public ResultSet query(String sql){
  try {
   getConn();
   ps=conn.prepareStatement(sql);
   rs=ps.executeQuery();
//   close();//注意:一旦关闭结果集为null
  } catch (Exception e) {
   e.printStackTrace();
  } 
  return rs;
 } 
}



你可能感兴趣的:(Mysql)