数据库连接第一种方式:
package com.JDBC;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.SQLException;
import java.util.Properties;
public class JDBCConnection1 {
//连接数据库的URL
private String url="jdbc:mysql://localhost:3306/user";
private String user="root";
private String password="123456";
public Connection getConn() throws SQLException {
//创建驱动程序
Driver driver=new com.mysql.jdbc.Driver();
//设置用户名和密码
Properties props=new Properties();
props.setProperty("user", user);
props.setProperty("password", password);
Connection conn=driver.connect(url, props);
System.out.println(conn);
return conn;
}
}
连接成功
数据库连接的第二种方式:
package com.JDBC;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
public class JDBCConnection2 {
//连接数据库的URL
private String url="jdbc:mysql://localhost:3306/user";
private String user="root";
private String password="123456";
public Connection getConn() throws SQLException {
Driver driver=new com.mysql.jdbc.Driver();
//注册驱动程序
DriverManager.registerDriver(driver);
Connection conn=DriverManager.getConnection(url,user,password);
System.out.println(conn);
return conn;
}
}
连接成功
数据库连接的第三种方式:
package com.JDBC;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class JDBCConection3 {
private String url="jdbc:mysql://localhost:3306/user";
private String user="root";
private String password="123456";
private Connection conn=null;
public Connection getConn() throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url,user,password);
System.out.println(conn);
return conn;
}
}
连接成功
数据库连接的第四种方式:、
类路径读取JDBC的配置文件
不论是Java项目还是Web项目,使用类路径读取配置文件比较通用,且移植性好。
方式一 点.:代表Java命令运行的目录(不推荐使用)
1. 在java项目下,.java命令的运行目录从项目的根目录开始
2. 在web项目下,.java命令的运行目录从tomcat/bin目录下开始
FileInputStream in=new FileInputStream("./src/db.propreties");
java项目换成web项目时,不具备通用性,所以不能用点.
方式二 斜杠/:表示classpath的根目录(推荐使用)
1. 在java项目下,classpath的根目录从bin目录开始
2. 在web项目下,classpath的根目录从WEB-INF/classes目录开始
InputStream in=JDBCConnection4.class.getResourceAsStream("/db.properties");
在java项目中和web项目中都能一致的读取到资源文件。具有通用性。但是只能是读,不能改,因为是在web项目中tomcat/项目/WEB-INF/classes,更改了内容,再发布会发生更新。
package com.JDBC;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
public class JDBCConnection4 {
//连接数据库的URL
public static String url=null;
public static String user=null;
public static String password=null;
public static String driverName=null;
/**
* 静态块,只被执行一次,给予静态变量赋值,在加载类时候调用
*/
static {
Properties props=new Properties();
InputStream in=JDBCConnection4.class.getResourceAsStream("/db.properties");
try {
props.load(in);
url=props.getProperty("url");
user=props.getProperty("user");
password=props.getProperty("password");
driverName=props.getProperty("driverName");
} catch (Exception e) {
e.printStackTrace();
System.out.println("加载失败");
}
}
public Connection getConn() throws SQLException, ClassNotFoundException {
Class.forName(driverName);
Connection conn=DriverManager.getConnection(url,user,password);
System.out.println(conn);
return conn;
}
}
db.properties文件
driverName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/user
user=root
password=123456
连接成功