Java连接Mysql:通过配置文件
转载自:https://blog.csdn.net/mrw456/article/details/49718235
1、导入数据库驱动jar包,与及编写数据库配置文件(mysql.properties),mysql.properties放在项目的src目录下[本例使用的数据库为Mysql5.5,数据库驱动jar包为mysql-connector-java-5.0.8-bin.jar]
mysql.properties:
name=com.mysql.jdbc.Driver //数据库驱动名称
url=jdbc:mysql://127.0.0.1:3306/dormitory //数据库连接url
user=root //数据库连接用户名
password=123456 //数据库连接密码
2、编写mysql.properties读取属性类Mysqlread.java,负责读取mysql.properties中的属性名称
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.util.Iterator;
import java.util.Properties;
public class Mysqlread {
public static final String [] message=readurl();
private static String[] readurl() {
Properties prop=new Properties();
String [] message=new String[4];
int i=0;
try {
InputStream in=new BufferedInputStream(new FileInputStream("src/mysql.properties"));
prop.load(in);
message[0]=prop.getProperty("name");
message[1]=prop.getProperty("url");
message[2]=prop.getProperty("user");
message[3]=prop.getProperty("password");
in.close();
} catch (Exception e) {
e.printStackTrace();
return null;
}
return message;
}
}
3、编写数据库连接类MysqlOperation.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class MysqlOperation {
private static final String[] mysqlmessage=Mysqlread.message;
public static Connection getConnection()
{
Connection conn=null;
try {
Class.forName(mysqlmessage[0]);
conn=DriverManager.getConnection(mysqlmessage[1],mysqlmessage[2],mysqlmessage[3]);
} catch (ClassNotFoundException e) {
System.out.println("驱动类库不能发现");
} catch (SQLException e) {
System.out.println("SQL异常");
}
return conn;
}
public static void close(Connection conn){
if(conn!=null)
{
try {
conn.close();
} catch (SQLException e) {
System.out.println("SQL异常");
}
}
}
public static void close(Statement statement){
if(statement!=null){
try {
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
statement=null;
}
}
public static void close(ResultSet rs)
{
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
rs=null;
}
}
}
4、编写一个测试类测试上述代码是否成功
import static org.junit.Assert.*;
import java.sql.Connection;
import org.junit.Test;
import com.mrw.util.MysqlOperation;
public class TestPropertisread {
@Test
public void test() {
Connection conn=MysqlOperation.getConnection();
System.out.println(conn);
MysqlOperation.close(conn);
}
}
运行结果为:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示