JDBC学习之路(一)

以前使用过JDBC,对Mysql也进行过一些增删改查的操作,但是还真没有系统的学习过,现在借助传智播客的视频系统学习一下,下面记录这几天的心得。

1.首先得安装Mysql,这个就不说了,顺便下载Mysql-Connector-java这个JDBC实现包,把他/它导入到自己的工程,下面开始代码了

一切均基于这些代码,先把代码贴上再讲解

package com.bird.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public final class JdbcUtil {//保证不被继承 private static String url = "jdbc:mysql://localhost:3306/test"; private static String user = "root"; private static String password = "mysql"; private JdbcUtil(){ //防止被new } static{//静态代码块,当类被装载到虚拟机的时候会运行这个代码块,这样保证只注册一次 try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { throw new ExceptionInInitializerError(e); } } public static Connection getConnecttion() throws SQLException{ return DriverManager.getConnection(url,user,password); } public static void free(ResultSet rs, Statement st, Connection conn) {//代码很乱,但是为了保证每一个连接都被关闭 try { if (rs != null) rs.close(); } catch (SQLException e) { e.printStackTrace(); } finally { try { if (st != null) st.close(); } catch (SQLException e) { e.printStackTrace(); } finally { if (conn != null) try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } }



package com.bird.jdbc; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; public class Test01 { public static void template() throws Exception{ Connection conn = null; Statement st = null; ResultSet rs = null; try{ conn = JdbcUtil.getConnecttion();//建立连接 st = conn.createStatement();//创建语句 rs = st.executeQuery("select * from niao");//执行语句 while(rs.next()){//得到数据 System.out.println(rs.getObject(1)+"\t"+rs.getObject(2)+"\t"); } }finally{ JdbcUtil.free(rs, st, conn); } } public static void main(String [] args) throws Exception{ Test01.template(); } }
2.首先说jdbcUtil类,它被定义为final,保证不被继承。

3.注意他的static静态代码块,一个类当被加载到虚拟机的时候就会运行static静态代码块,这个代码块里面的内容就是注册,初始化JDBC里面的mysql的驱动,这个工作每次只需要一次,多了浪费,而且是其他所有工作的基础,所以定义为static,保证一开始就加载并且只运行一次。

4.他们的异常必须被抛出,让使用这个类的人处理。

5.下面强势关注free函数,貌似看起来很复杂的玩意,其实原理很简单,只是对每个关闭函数配备了一个try和catch和finally保证每个流关闭错误都不会影响下面的流的关闭,强调绝对的安全。

6.JdbcUtill类就是对这些的封装,而且各个方法都是静态的,可以直接调用。



下面分析Test01

7.连接是从JdbcUtil类的静态方法获得

8.下面的就是创建语句,执行SQL查询,然后获得返回结果了,最后别忘了释放资源。




好了 完毕 继续学习去喽

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值