一、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/tech/bigdata/244808.html