方法一:直接将数据库连接信息加载程序中:
1.加载数据库驱动,使用Class类的forName()方法 例如 MySQL
//加载驱动
Class.forName("com.mysql.jdbc.Driver");
2.通过DriverManager获取数据库连接
当使用DriverManager获取数据库连接时,需要传入三个参数 (url,user,password)分别是数据库地址、用户名、密码。
MySQL的url一般是:
jdbc:mysql://localhost:prot/database_name ,user, password
localhost:代表连接的是本地数据库 如是远程连接 则输入其地址
prot:连接端口
database_name: 需要连接的数据库的名字
user: 数据库用户名
password:数据库访问密码
//获取数据库连接 以一个test数据库为例
Connection connect = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/test ,root, 0529");
3.写一个程序输出Connection对象测试是否成功:
import java.sql.Connection;
import java.sql.DriverManager;
public class test {
public static void main(String[] args) throws Exception {
//1.加载驱动,使用反射知识,
Class.forName("com.mysql.jdbc.Driver");
try(
//2.使用DriverManager获取数据连接
Connection connection=DriverManager.getConnection(
"jdbc:mysql://127.0.0.1:3306/select_test","root","0529");
)
{
//输出connection对象
System.out.println(connection);
}
}
}
如图:成功
方法二:使用配置文件 存储 连接信息
比较成熟的用法,好处是当程序需要从开发环境移植到生产环境时,只需要修改配置文件即可。
在任意地方新建一个mysql.ini文件 把连接信息写进去 例如:
之后利用properties类加载配置文件即可 :
package JDBC_MySQL;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties;
public class Test {
private static String url;
private static String user;
private static String password;
private static String driver;
// 加载属性文件
public void initParam(String paramFile) throws FileNotFoundException, IOException, ClassNotFoundException {
// 使用properties类来加载属性文件
Properties props = new Properties();
props.load(new FileInputStream(paramFile));
driver = props.getProperty("driver");
url = props.getProperty("url");
user = props.getProperty("user");
password = props.getProperty("password");
//1.加载驱动,使用反射知识,
Class.forName(driver);
}
public static void main(String[] args) throws Exception {
Test t = new Test();
t.initParam("D:/mysql/mysql.ini");
try(
//2.使用DriverManager获取数据连接
Connection connection = DriverManager.getConnection(url,user,password);
)
{
//输出connection对象
System.out.println(connection);
}
}
}
一样的效果: