mysql下载地址:https://dev.mysql.com/downloads/file/?id=476233
mysql安装过程可以参考:https://www.cnblogs.com/laumians-notes/p/9069498.html,这里就不赘述了,mysql一定要安装正确的,否则之后的操作就无法继续下去了。
jdbc下载地址:https://www.mysql.com/products/connector/
在页面中找到JDBC Driver for MySQL这一行,然后点击download:
在跳转的页面中找到select operating system,选择platform independent:
然后点击第二个download:
我的eclipse是汉化过的。。。所以一些按钮的名称我写的都是中文,见谅。
1、在eclipse中点击窗口->首选项->java->构建路径->用户库:
2、点击新建,输入jdbc,并将下方的系统库框框勾上:
3、点击右侧的添加外部JAR,选中你刚才下载的JDBC压缩包,点击打开:
4、选中你的项目名,单击右键,选择构建路径->配置构建路径:
5、单击classpath,然后点击右侧的Add Library(若没有classpath,就直接点Add Library):
6、选中用户库,点击下一步:
7、选中jdbc,点击完成,最后应用并关闭就可以啦。
PS:这是针对新版的jdbc,即jdbc8.0的安装方法。
安装好mysql,并成功连接数据库之后我们来验证一下:
1、首先启动mysql,在cmd中输入net start mysql
2、登陆mysql,输入命令mysql -u root -p123456,123456是密码,注意-p和你输入的密码之间不要有空格。
3、创建一个数据库,名叫first:
4、使用use命令进入这个数据库,并创建一个表,表名叫one,包含两列:
5、插入一行数据:
6、查看插入的数据:
现在我们在eclipse中调用JDBC的API来访问数据库:
1、在刚才的项目中新建一个java类,然后输入如下代码:
package ch1;
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 test1 {
// 加载数据库驱动 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> x = getData("first",
"select name,sex from one");
System.out.println("x=" + x);
}
/**
* 获取数据库连接
* 返回connection实例
* @param myProjName
* @return
*/
private static Connection getConn(String myProjName) {
Connection conn = null;
try {
//Class.forName方法加载JDBC驱动
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> getData(String ProjName, String sql) {
Connection conn = getConn(ProjName);
//用statement实例的方法来执行SQL语句
PreparedStatement ps = null;
List> list = new ArrayList>();
ResultSet rs = null;
try {
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
ResultSetMetaData md = rs.getMetaData();
int columnCount = md.getColumnCount();
while (rs.next()) {
List
然后运行,查看结果: