Java_连接MySQL数据库(三种方法)
第一种方法 : 普通方法 ——例如查询数据库
/**
* 连接数据库 方法1
*
* @author 道鸢
*
*/
public class Lianjie {
public static void main(String[] args) {
/**
* DriverManager :依据数据库的不同,管理JDBC驱动
* Connection :负责连接数据库并担任传送数据的任务
* Statement :由Connection 产生、负责执行SQL语句
* ResultSet:负责保存Statement执行后所产生的查询结果
* 加载驱动
* 建立连接
* 发送sql语句
* 处理返回结果
* 释放资源
*/
Connection conn = null; // 负责连接数据库并担任传送数据的任务
Statement stmt = null; // 由 Connection 产生、负责执行SQL语句
ResultSet rs = null; // 负责保存Statement执行后所产生的查询结果
try {
Class.forName("com.mysql.jdbc.Driver"); // 加载光驱
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
// 建立连接
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/epet?useSSL=false", "root", "1234");
System.out.println("Connection" + conn);
// 创建statement对象
stmt = conn.createStatement();
String zhu = "dog";
String sql = "select * from "+zhu; //易注入
// 插入SQL语句 保存Statement执行后所产生的查询结果
rs = stmt.executeQuery(sql);
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
System.out.println(id + name);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (stmt != null) {
try {
stmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
第二种方法:普通连接 转为 方法使用
第一步:创建连接方法
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class common { // 连接方法
public Connection conn() {
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/epet?useSSL=false", "root", "1234");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
第二步:创建 关闭流方法
public static void closeAll(ResultSet rs, Statement stmt, Connection conn) {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (stmt != null) {
try {
stmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
第三步:调用方法
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Tste_cha {
public static void main(String[] args) {
common co = new common();
co.conn();
Statement state = null;
ResultSet rs = null;
Connection con = co.conn();
String sql = "select * from dog";
try {
state = con.createStatement();
rs = state.executeQuery(sql);
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
System.out.println(id + name);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
common.closeAll(rs, state, con);
}
}
}
第三种方法: 使用配置文件连接数据库
第一步:配置文件 ***.properties 文件类型
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/epet?useSSL=false
user=root
password=1234
第二步: 在功能类中
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
/**
* @author 道鸢
* 使用配置文件进行连接数据库
*
*/
public class TestProperties {
static Properties pros = null;
static {
pros = new Properties();
try { //加载配置文件
pros.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("db.properties"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static Connection getMusqlConn() {
try {
Class.forName(pros.getProperty("mysqlDriver"));
return DriverManager.getConnection(pros.getProperty("url"),pros.getProperty("user"),pros.getProperty("password"));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
}
public static void close(Statement ps, Connection conn,ResultSet rs) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (ps != null) {
try {
ps.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}