【jar包 mysql-connector-java-8.0.26.jar】
【jar包 servlet-api.jar】
在src下新建包data_connection,在新建类Connnection
需要将getConnection方法去除 throws Exception,再包起来surround With
package data_connection;
import java.io.*;
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import java.sql.*;
import java.io.InputStream;
import java.util.Properties;
import org.junit.Test;
public class ConnectionTest {
//最终方式(final版):将数据库链接需要的4个基本信息声明在配置文件中,获取连接
/*
* 好处:
* 1.实现了数据与代码的分离,实现了解耦
* 2.如果需要修改配置文件信息,可以避免程序重新打包
*/
@Test
public void getConnection() throws Exception{
//1.读取配置文件的4个基本信息
/***
*ClassLoader.getSystemClassLoader(),获取系统类加载器(方式1)(推荐)
*ConnectionTest.class.getClassLoader(),获取系统类加载器(方式2)
*/
InputStream is = ConnectionTest.class.getClassLoader().getResourceAsStream("jdbc.properties");
Properties pros = new Properties();
pros.load(is);
String user = pros.getProperty("user");
String password = pros.getProperty("password");
String url = pros.getProperty("url");
String driverClass = pros.getProperty("driverClass");
//2.加载驱动
Class.forName(driverClass);
//3.获取连接
Connection conn = DriverManager.getConnection(url, user, password);
System.out.println(conn);
}
//关闭连接
public static void closeConnection(ResultSet rs,Connection conn,Statement ps) {
try {
if(rs !=null)
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
if(ps !=null)
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
if(conn != null)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
在scr下新建jdbc.properties文件
user=root
password=123456
url=jdbc:mysql://localhost:3306/qf
driverClass=com.mysql.cj.jdbc.Driver