前言:
使用版本:eclipse2017,mysql5.7.0,MySQL的jar建议使用最新的,可以避免警告!
1:下载安装:eclipse,mysql在我之前博客中有
http://t.csdnimg.cn/UW5fshttp://t.csdnimg.cn/UW5fs
2:MySQL下载网址是:MySQL :: Download MySQL Installerhttps://dev.mysql.com/downloads/installer/
3:下载jdbc
1.这是下载jdbc的网址:MySQL :: MySQL Connectorshttps://www.mysql.com/products/connector/
这三项下载好后,进行eclipse连接MySQL的第一步:导入依赖包
Window-preferences-java-Build Path-User Libraries
项目中查看:
建立一个数据库连接类:DBHelper
数据库名字和表名字要根据自己实际的来:
package com.ks.lya.dbh;
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.List;
public class DBHelper {
// 加载数据库驱动
private static String dbdriver = "com.mysql.jdbc.Driver";
// 获取mysql连接地址
private static String dburl = "jdbc:mysql://localhost:3306/mybatis_ssm?useUnicode=true&characterEncoding=UTF-8&useSSL=false&rewriteBatchedStatements=true";
// 数据名称
private static String username = "root";
// 数据库密码
private static String userpassword = "123456";
/**
* 获取数据库连接
*
* @return 数据库连接对象
*/
private static Connection getConnection() {
Connection conn = null;
try {
Class.forName(dbdriver);
conn = DriverManager.getConnection(dburl, username, userpassword);
} catch (ClassNotFoundException | 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) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
/**
* 查表,返回行的列表,每个列表中包含列的列表。
*
* @param sql 执行的SQL查询语句
* @return 查询结果的二维列表
*/
public static List<List<Object>> getData(String sql) {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
List<List<Object>> list = new ArrayList<List<Object>>();
try {
conn = getConnection();
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;
}
public static void main(String[] args) throws SQLException {
List<List<Object>> x = getData("select uname,upic from t_user_head");
System.out.println("x=" + x);
}
}
通过MySQL的客户端管理查出来的
连接成功!
什么一行是警告:表示使用的 MySQL 驱动类已经过时,建议使用新的驱动类 com.mysql.cj.jdbc.Driver
。
另外,请确保你的 MySQL 驱动包版本是最新的,以避免可能的兼容性问题。你可以从 MySQL 官方网站上下载最新的 MySQL 驱动程序。