JDBC
一、JDBC的概述
二、获取数据库连接
//1.JDBC: sun公司提供的一套api(java.sqL ,javax.sql ) ,
// 使用这套api可以实现对数据的连接和操作(DML、DDL )
// 2.如下代码来测试:
// 获取mysql数据库连接要想获取连接,准备工作:
// 1.mysqL服务开启
// 2.连接的基本条件:指名数据库的ip地址、端口号、用户名、密码
// 3.导入mysql的驱动(即为jdbc中相关接口的实现类的集合)
// 3.网络编程中的URL:代表着互联网当中的某一资源的地址
//http://192.168.21.34:8080/gmall/index.jsp?user=tom
//协议 ip地址 端口号 目标资源 参数列表
1.连接方式一
import org.junit.Test;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnectionText {
// 获取数据库的连接方式一
@Test
public void test1() throws SQLException{
//提供mysql 中 Driver 接口的实现类
Driver driver= new com.mysql.jdbc.Driver ();
//注册驱动
DriverManager.registerDriver (driver);
String url ="jdbc:mysql://localhost:3306/test";//test 表示具体的数据库
String user ="root";
String password ="fan1116.";
//获取连接
Connection connection = DriverManager.getConnection (url,user,password);
System.out.println (connection);
}
}
2.连接方式二(反射)
//获取数据库的连接方式二:使用反射实现Driver的实例化
//面向接口编程
@Test
public void test2() throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException {
//提供mysql 中 Driver 接口的实现类的对象
String className ="com.mysql.jdbc.Driver";
Class classzz=Class.forName (className);
Driver driver= (Driver) classzz.newInstance ();
//注册驱动
DriverManager.registerDriver (driver);
String url ="jdbc:mysql://localhost:3306/bjpowernode";//`bjpowernode 表示具体的数据库
String user ="root";
String password ="fan1116.";
//获取连接
Connection connection = DriverManager.getConnection (url,user,password);
System.out.println (connection);
}
3.连接方式三
// 获取数据库的连接方式三
@Test
public void test3() throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException {
//1.获取四个基本信息
String className ="com.mysql.jdbc.Driver";
String url ="jdbc:mysql://localhost:3306/bjpowernode";//`bjpowernode 表示具体的数据库
String user ="root";
String password ="fan1116.";
//2.加载驱动
Class.forName (className);
//3.获取连接
Connection connection = DriverManager.getConnection (url,user,password);
System.out.println (connection);
}
***4.连接方式四(配置文件)
className=com.mysql.jdbc.Driver
url =jdbc:mysql://localhost:3306/bjpowernode
user =root
password =fan1116.
//使用配置文件的好处?
//1.实现数据和代码的分离
//2.编写的java程序在部署到服务器上时,需要打包。I如果java代码修改过就需要重新打包。使用配置文件的方式,如果配置信息修改,并没有导致代码的修改。所以不需要重写打包。
// 获取数据库的连接方式四——将数据库连接的基本信息声明在配置文件中
@Test
public void test4() throws IOException, ClassNotFoundException, SQLException {
//读取配置文件中的四个信息
Properties properties=new Properties ();
//加载资源的路径默认为: src下
InputStream is= ClassLoader.getSystemClassLoader ().getResourceAsStream ("jdbc.properties");
properties.load(is);
String className= properties.getProperty ("className");
String url= properties.getProperty ("url");
String user= properties.getProperty("user");
String password= properties.getProperty ("password");
//2.加载驱动
Class.forName (className);
//3.获取连接
Connection connection = DriverManager.getConnection (url,user,password);
System.out.println (connection);
}
三、数据库连接池
1.使用数据库连接池的好处?
1.更方便的获取连接对象,效率高
2.资源可以更好的重复利用
3.便于进行必要的管理
2.有哪些数据库连接池技术呢?
DBCP :速度快,不稳定
C3Pe:稳定、速度慢
Druid:兼具二者兼备
Datasource通常被称为数据源,它包含连接池和连接池管理两个部分,习惯上也经常把Datasource称为连接池
3.使用Druid获取连接的方式1
import com.alibaba.druid.pool.DruidDataSource;
import org.junit.Test;
import java.sql