一、JDBC概述:JDBC简称:Java DateBase Connectivity(Java语言连接数据库)
- JDBCC本质是SUN公司制定的一套接口(interface)在Java.sql.*包下
- 使用文本编辑器开发,我们需要将jar包配置到环境变量class_path;JDBC开发前准备工作,先从官网下载对应的驱动jar包。然后将其匹配值到环境变量classPath当中。classpath=.;+jar文本路径(英文状态下:点+分号+mysql中jar包文件的路径)“.” 点代表当前路径+jar包的路径地址
二、面向接口编程:
- 面向接口编程:接口都有调用者和实现者 面向接口调用、面向接口写实现类、都属与接口编程
- 为啥面向接口编程: 解耦合:降低程序的耦合度,提高程序的扩展力,多态机制就是非常典型的:面向抽象编程
- 为啥sun公司制定一套JDBC接口:因为每一个数据库底层的实现原理都不一样, 每一个数据库产品都有自己的独特的实现原理:
Oracle 数据库有自己的原理
Mysql数据库也有自己的原理
MS、DB2、SqlServer(微软) 数据库也有自己的原理 - 驱动:所有的数据驱动都是以jar 包的形式存在,jar包当中有很多的:.class字节码文件;这些class文件就是对JDBC接口的实现类
三、JDBC编程六步
- 第一步:注册驱动—————————->作用:告诉Java程序,即将要连接的是哪个品牌的数据库
- 第二步:获取连接—————————->表示JVM的进程和数据库进程之间的通道打开了,这属于进程之间的通信,重量级的,使用完之后一定要关闭通道。
- 第三步:获取数据库操作对象————–>专门执行sql语句的对象
- 第四步:执行SQL语句
- 第五步:处理查询结果集——————–>只有第四步执行的是select语句的时候,才有这第五步处理查询结果集。
- 第六步:释放资源—————————->使用完资源之后一定要关闭资源。Java和数据库属于进程间的通信,开启之后一定要关闭。
四、JDBC通过配置文件Properties;获取数据库链接:工具类
jdbc_url=jdbc:mysql://localhost:3306 jdbc_driver=com.mysql.jdbc.Driver jdbc_user=root jdbc_password=root
package com.xzit.platfrom.util; import java.sql.*; /** * JDBC工具类简化JDBC编程 * */ public class DataSourceManager { /*私有化工具类方法*/ private DataSourceManager (){} /** * 获取数据库连接对象 * @return 数据库链接对象 * @throws SQLException * */ public static Connection getConnection () { Connection conn = null; try { Class.forName(Env.driver); conn = DriverManager.getConnection(Env.url,Env.user,Env.password); } catch (Exception e) { e.printStackTrace(); } return conn; } /** * 关闭资源 * @param conn */ public static void close(Connection conn){ try { if(conn !=null){ conn.close(); } } catch (Exception e) { e.printStackTrace(); } } /** * 关闭资源 * @param state */ public static void close( Statement state ){ try { if(state !=null ){ state.close(); } } catch (Exception e) { e.printStackTrace(); } } /** * 关闭结果集 * @param set */ public static void close( ResultSet set ){ try { if(set !=null ){ set .close(); } } catch (Exception e) { e.printStackTrace(); } } }
package com.xzit.platfrom.util; import java.io.IOException; import java.io.InputStream; import java.util.Properties; public class Env extends Properties { //获取jdbc驱动 public static String driver; //获取jdbc解析地址 public static String url; //获取用户名 public static String user; //获取密码 public static String password; static { InputStream resourceAsStream = Env.class. getResourceAsStream("dbconf.properties"); try { //获取配置文件 Properties properties = new Properties(); properties.load(resourceAsStream); url = properties.getProperty("jdbc_url"); driver = properties.getProperty("jdbc_driver"); user = properties.getProperty("jdbc_user"); password = properties.getProperty("jdbc_password"); System.out.println("数据库驱动:"+driver); System.out.println("数据库url:"+url); System.out.println("数据库用户名:"+user); System.out.println("数据库密码:"+password); } catch (IOException e) { e.printStackTrace(); } }
原创文章,作者:sunnyman218,如若转载,请注明出处:https://blog.ytso.com/244808.html