Java使用JDBC连接MySql数据库
-
使用Maven下载mysql-connector-java的jar包。
在连接https://mvnrepository.com/artifact/mysql/mysql-connector-java可以找到你需要的仓库坐标,然后直接在pom中添加对应的坐标保存即可下载。
下载配置后的结果如图示:
数据库连接信息:jdbc.properties
#jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.driverClassName=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/django?serverTimezone=GMT%2B8
jdbc.username=root
jdbc.password=root
数据库连接测试代码:
package com.javamysql.jdbc.util;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
/**
* Java数据库连接工具类
*/
public class MysqlConnUtil {
/**
* 加载配置文件读取Mysql连接属性
*/
public Map<String, Object> getMysqlInfo(){
Map<String,Object> map = new HashMap<String, Object>();
Properties pps = new Properties();
//加载配置文件路径
InputStream in = getClass().getClassLoader().getResourceAsStream("jdbc.properties");
try {
pps.load(in);
map.put("username",pps.get("jdbc.username"));
map.put("password",pps.get("jdbc.password"));
map.put("url",pps.get("jdbc.url"));
map.put("driverClassName",pps.get("jdbc.driverClassName"));
}catch(IOException ex){
System.out.println("获取配置文件异常——");
ex.printStackTrace();
}
return map;
}
/**
* 获取Mysql数据库连接
* @return
*/
public Connection getConn(){
Connection conn = null;
/**
* 获取连接属性
*/
String username = this.getMysqlInfo().get("username").toString();
String password = this.getMysqlInfo().get("password").toString();
String url = this.getMysqlInfo().get("url").toString();
String driverName = this.getMysqlInfo().get("driverClassName").toString();
try{
// 反射加载Mysql数据库驱动
Class.forName(driverName);
// 使用getConnection方法连接数据库
conn = DriverManager.getConnection(url,username,password);
// 判断是否数据库连接成功
if(!conn.isClosed()){
System.out.println("数据库连接成功——");
}else{
System.out.println("数据库连接异常——");
}
// 创建statement,用来执行sql语句
Statement stat = conn.createStatement();
// 需要执行的sql语句
String sql = "select * from django_content_type";
// ResultSet类,用来存放获取的结果集
ResultSet rs = stat.executeQuery(sql);
System.out.println("-----------------");
System.out.println("执行结果如下所示:");
System.out.println("-----------------");
System.out.println("id" + "\t" +"app_label" + "\t" + "model");
System.out.println("-----------------");
while (rs.next()){
System.out.println(rs.getString("id")+"\t"+rs.getString("app_label")+"\t"+rs.getString("model"));
}
// 关闭数据库连接信息
rs.close();
stat.close();
}catch (Exception ex){
ex.printStackTrace();
}
return conn;
}
// 测试
public static void main(String[] args) {
MysqlConnUtil util = new MysqlConnUtil();
// System.out.println(util.getMysqlInfo().get("username"));
// 测试数据库连接
util.getConn();
// System.exit(0);
}
}