1、在开发中,链接数据库一般使用帮助类文档,将链接使用的路径、账号、密码放在此文件中。java中使用后缀为.properties来储存此内容信息
driver:com.mysql.jdbc.Driver -- 储存driver驱动路径
url:jdbc:mysql://localhost:3306/studentmanagesystem -- 索要链接的数据库
name:root -- 数据库的账号
password:admin -- 数据库的密码
2、链接数据库
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
public class DbUtil {
/**
* 将路径声明为static,此类在加载时独立于main方法,一次声明,多次使用,且只执行一次
*/
static String driver;
static String url;
static String sqlname;
static String sqlPassword;
/**
* 声明静态块,优先main方法执行
*/
static {
Properties pro=new Properties();
try {
InputStream file=DbUtil.class.getResourceAsStream("sql.properties");
pro.load(file);
driver=pro.getProperty("driver");
url=pro.getProperty("url");
sqlname=pro.getProperty("name");
sqlPassword=pro.getProperty("password");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 创建连接数据库,声明为static
* @return 连接成功,返回Connection
*/
public static Connection getConnection(){
Connection conn=null;
try {
Class.forName(driver);
conn=DriverManager.getConnection(url,sqlname,sqlPassword);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
/**
* 关闭数据库
* @param conn 所要关闭的连接名称
*/
public static void closeConn(Connection conn){
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}