由于总是出错,记录一下连接MySQL数据库的过程。
连接过程1.下载MySQL并安装,这里的版本是8.0.18
2.下载MySQL的jdbc,下载后解压,个人将其保存在MySQL目录下,方便查找
3.连接数据库
(1)eclipse中选择Window-preferences-java-Build Path-User Libraries
(2)点击右侧的new按钮,
(3)在这里输入jdbc,选中对勾,点击ok
(4)回到上一级界面,点击Add External JARs,打开到你的jdbc存放的目录,打开-ok。
(5)接下来是在项目中导入jar包,项目右键-Build Path-Configure Build Path
(6)点击右侧Add Library… -User Library-Next。打上对勾点击finish
(7)回到上一级界面就可以看到你添加的jdbc,点击Apply再点击ok。
(8)这样在你的项目下就可以看到你导入的jdbc了
4.在项目中Java resources下创建一个新的包linkMysql,里面新建一个类Demo
代码如下:
package linkMysql;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Demo {
// 加载数据库驱动 com.mysql.jdbc.Driver
private static String dbdriver = "com.mysql.cj.jdbc.Driver"; //因为MySQL是8.0版本,所以需要加上cj,如果是5.0版本就不用
// 获取mysql连接地址
private static String dburl = "jdbc:mysql://127.0.0.1:3306/cmxDatabaseName?&useSSL=false&serverTimezone=UTC";
//这里的&serverTimezone=UTC很重要,之前就是因为这个出错
// 数据名称
private static String username = "root";
// 数据库密码
private static String userpassword = "123456";
// 获取一个数据的连接
public static Connection conn = null;
// 获取连接的一个状态
//下面是一个例子,其中database1是数据库名,后面是一条查询语句
public static void main(String[] args) throws SQLException {
List<List<Object>> x = getData("database1",
"select * from students");
System.out.println(x);
}
/**
* 获取数据库连接
*
* @param myProjName
* @return
*/
private static Connection getConn(String myProjName) {
Connection conn = null;
try {
Class.forName(dbdriver);
String myjdbcUrl = dburl.replace("cmxDatabaseName", myProjName);
conn = DriverManager.getConnection(myjdbcUrl, username, userpassword);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
/**
* 关闭数据库连接
*
* @param rs
* @param ps
* @param conn
*/
private static void closeAll(ResultSet rs, PreparedStatement ps,
Connection conn) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (ps != null) {
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn == null)
return;
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 查表,返回行的列表,每个列表中包含列的列表。
*
* @param ProjName
* @param sql
* @return
*/
public static List<List<Object>> getData(String ProjName, String sql) {
Connection conn = getConn(ProjName);
PreparedStatement ps = null;
List<List<Object>> list = new ArrayList<List<Object>>();
ResultSet rs = null;
try {
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
ResultSetMetaData md = rs.getMetaData();
int columnCount = md.getColumnCount();
while (rs.next()) {
List<Object> lst = new ArrayList<Object>();
for (int i = 1; i <= columnCount; ++i) {
lst.add(rs.getObject(i) == null ? "" : rs.getObject(i));
}
list.add(lst);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
closeAll(rs, ps, conn);
}
return list;
}
}
5.将该类以Java application运行,就可以在控制台看见students表中的全部信息
到此这篇关于教你用eclipse连接mysql数据库的文章就介绍到这了,更多相关eclipse连接mysql数据库内容请搜索软件开发网以前的文章或继续浏览下面的相关文章希望大家以后多多支持软件开发网!