javaweb学习笔记之JDBC开发规则

JDBC是什么

Java DataBase Connectivity(Java语言连接数据库)

JDBC规范介绍:

     1.JAVAEE中的一种规范
     2.指定Java类与关系型数据库服务器【MySql,Oracle,SqlServer】之间沟通规则
     3.JDBC规范提供接口存在JDKJAR中。java.sql包
     4.JDBC规范接口实现类由不同关系型数据库服务器厂商以JAR包形式提供

JDBC规范下接口介绍:

      1.位置:JDBC规范下接口存在于JDK_1.8.jar下java.sql包

      2.分类:
              1)java.sql.DriverManager类:这个类存在于JDK_1.8下。
	                负责将数据库厂商提供Driver接口实现进行注册
					负责在Java工程与MySql服务器之间建立一个【连接通道】


              2)java.sql.Connection接口:负责管理Java工程与数据库服务器之间【连接通道】 

	          3)java.sql.PreparedStatement接口:负责管理在【连接通道】 上进行往返交通的【交通工具】

	          4) java.sql.ResultSet接口:负责管理数据库服务器返回【临时表】

JDBC编程

第一步:注册驱动,建立数据库的一个连接

  第一种:
    try{
    //创建驱动对象
    java.sql.Driver driver = new com.mysql.jdbc.Driver(); //多态
    //完成驱动注册 
    DriverManager.registerDriver(driver); 
    }catch(SQLException e){
    e.printStackTrace();


    第二种:(这种方式使用较多)
Class.forName("com.mysql.jdbc.Driver");

Class.forName("com.mysql.jdbc.Driver"); 
    作用是:将com.mysql.jdbc.Driver这个类装载到JVM当中。
    装载过程中会自    动执行静态代码块完成驱动的注册。

第二步:获取连接对象

 getConnection("jdbc:mysql://localhost:3306/testweb","root","root"); 

第三步:获得数据库操作对象

 /**
  通过连接对象Connection获取数据库操作对象Statement代码:
    一个数据库连接对象可以创建多个数据库操作对象。*/
    
    Statement st = conn.createStatement();
    Statement st2 = conn.createStatement();

第四步:推送sql语句

  // 推送SQL命令
    
     String sql = "insert into person(name,age,sex,birthday,description) "+
    "values('"+name+"','"+age+"','"+sex+"','"+birthday+"','"+description+"')";
    
    int  result = st.executeUpdate(sql);        //执行查询,返回结果集

Statement 接口提供了三种执行 SQL 语句的方法:executeQuery、executeUpdate 和 execute。使用哪一个方法由 SQL 语句所产生的内容决定。

 ps.executeUpdate  与  ps.executeQuery 区别:


           1.ps.executeUpdate:
              1) 负责推送插入命令【insert】,更新命令[update],删除命令[delete]
			  2) 返回结果对表文件进行操作时,收到影响行数,比如插入了多少行,更新了多少行
			      删除了多少行。返回类型为int型,可以让我们清楚的看到操作了多少行数据。


           2.ps.executeQuery:
              1) 负责推送查询命令【select  *  from 表名】
			  2) 返回结果是查询命令得到【临时表】,在JDBC规范中【临时表】
			      交给ResultSet接口实现类管理。实际上返回ResultSet实例对象


   方法execute:
   用于执行返回多个结果集、多个更新计数或二者组合的语句。因为多数程序员不会需要该高级功能

第五步:处理数据库返回结果,关闭连接
Connection、Statement、ResultSet都会占用一定的资源,它们需要全部释放/关闭

  • 释放资源的注意事项:
  • 为了保证每一个资源都可以关闭,建议将关闭资源的代码写到finally语句块当中。
  • 先关闭ResultSet、再关闭Statement、最后关闭Connection。
   // 关闭资源之前最好判断这些资源是否为空
        Connection con = null;
        Statement st = null;
        ResultSet rs = null;
      try {
             rs.close();
				st.close();
				con.close();
			}
  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值