转载博客:https://blog.csdn.net/fanjianwucmx/article/details/54882044
结合博客:https://blog.csdn.net/weixin_37577564/article/details/80329775 进行了修正
利用eclipse连接数据库
第一步:安装mysql
参考博客:https://www.cnblogs.com/laumians-notes/p/9069498.html
第二步:下载jdbc
1.这是下载jdbc的网址:https://www.mysql.com/products/connector/
2.
第三步:下载成功后这里就要使用eclipse连接数据库了
1.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了
第四步就是利用cmd打开mysql创建一个表
1.登录,打开cmd输入mysql -uroot -p123456
2.然后再输入show databases;
这里记着一定要加分号;英文状态下的分号。
3.创建一个数据库
create database user_cmx;
创建一个表
use user_cmx;
为数据库表添加字段
create table user(name varchar(20),age varchar(10));
插入数据
INSERT INTO user VALUES('ying','123456'); //插入一条数据到表中
第五步:创建完成后,我们就可以使用eclipse连接数据库了。
最后一步就是我们的代码了
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连接地址
private static String dburl = "jdbc:mysql://127.0.0.1:3306/cmxDatabaseName?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false";
// 数据名称
private static String username = "root";
// 数据库密码
private static String userpassword = "123456";
// 获取一个数据的连接
public static Connection conn = null;
// 获取连接的一个状态
public static void main(String[] args) throws SQLException {
List<List<Object>> x = getData("user_cmx",
"select name,age from user");
System.out.println("x=" + 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;
}
}
运行,控制台显示
至此,数据库连接成功。