浅谈JDBC的六大步骤

最近我学习了javase和mysql的基础知识,我面临了一个新问题,如何将java和数据库连接,带着这个问题我学习了JDBC(JDBC的全称是:Java Database Connectivity)在JDBC中找到了答案,JDBC连接数据库,创建一个以JDBC连接数据库的程序,包含6个步骤:

  • 加载驱动(告诉Java程序,即将要连接的是哪个品牌的数据库)
    在连接数据库之前,首先要加载想要连接的数据库(这里以MySQL为例)的驱动到JVM(Java虚拟机),这里可以通过两种方法实现:

    1.调用DriverManage中的registerDriver方法,在registerDriver方法中传入一个驱动实现(不常用)
    例如:

DriverManager.registerDriver(new com.mysql.jdbc.Driver());

2.通过java.lang.Class类的静态方法forName(String className)实现
例如:

try{//加载MySql的驱动类    
         Class.forName("com.mysql.jdbc.Driver") ;    
    }catch(ClassNotFoundException e){    
         System.out.println("找不到驱动程序类 ,加载驱动失败!");    
         e.printStackTrace() ;    
    }    

成功加载后,会将Driver类的实例注册到DriverManager类中。

  • 获取连接(表示JVM的进程和数据库进程之间的通道打开了,属于进程之间的通信)

    要连接数据库,需要向java.sql.DriverManager 获取 一个Connection对象,该对象就代表一个数据库的连接使用DriverManager的 getConnectin(String url , String username , String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和密码来获得。

url:统一资源定位符(网络中某个资源的绝对路径)
hhtps://www.baidu.com/这就是URL。
URL包括几部分?

  1.	协议
  2.	IP
  3.	PORT
  4.	资源名

http://182.61.200.7:80/index.html

http:// 通信协议
182.61.200.7 服务器IP地址
80 服务器上软件的端口
index.html 服务器上某个资源名

例如:

//连接MySql数据库   
     String url = "jdbc:mysql://localhost:3306/test" ;     
     String username = "root" ;    
     String password = "123456" ;    
     try{    
          Connection con = DriverManager.getConnection(url , username , password ) ;    
     }catch(SQLException se){    
          System.out.println("数据库连接失败!");    
          se.printStackTrace() ;    
     }    

  • 获取数据库操作对象(专门执行数据库语句的对象)

    要执行SQL语句,首先需要获得java.sql.Statement实例
    执行静态SQL语句。通常通过Statement实例实现。

Statement stmt = conn.createStatement() ;    
  • 执行sql语句(DML.DQL…)

    1.int executeUpdate(String sqlString):用于执行DML语句(insert,delete,update),返回值是影响数据库的记录条数;

//4.执行SQL语句
     String sql = "delete from dept where deptno = 50";
     int count = stmt.executeUpdate(sql);
     System.out.println(count == 1 ? "删除成功" : "删除失败");

2.ResultSet executeQuery(String sqlString):用于执行的DQL语句,返回一个结果集(ResultSet)对象

//4.执行SQL语句
	String sql = "select empno,ename,sal from emp";
	rs = stmt.excuteQuery(sql);
  • 处理查询结果集(只有当第四步执行的是select语句时才会执行第五步)

    调用ResultSet中的next方法(有点类似集合中的迭代器,但并不等同集合)
    • ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些行中数据的访问。
    • 使用结果集(ResultSet)对象的访问方法获取数据:

	while(rs.next()){    
         String name = rs.getString("name") ; //这种方式更加健壮   
         String name= rs.getString(1);  
         System.out.println(name);
     }    

getString()方法的特点是:不管数据库中的数据类型是什么,都以String的形式取出。
列是从左到右编号的,并且从列1开始
(JDBC中所有下标都是从1开始,不是从0开始)

  • 释放资源(使用完资源后一定要及时关闭资源)

    操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源。
    1、先关闭requestSet
    2、再关闭preparedStatement
    3、最后关闭连接对象connection

按照从小到大依次关闭

if(rs !=null){   // 关闭记录集    
   try {
      rs.close();
   } catch (SQLException e) {
      e.printStackTrace();
   }
}    
  if(stmt !=null){   // 关闭声明    
   try {
      stmt.close();
   } catch (SQLException e) {
      e.printStackTrace();
   }
}
if(conn !=null){  // 关闭连接对象    
   try {
      conn.close();
   } catch (SQLException e) {
      e.printStackTrace();
   }
}

ok,以上就是JDBC六大步骤,如有错误请文明指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值