1.在MySQL官网上下载MySQL connector zip文件。
选择操作的系统为: platform Independent
下载zip文件,下载完成后,解压压缩包,放在容易找到的地方即可。我这里放到了D盘的MySQL文件夹内。
2.创建项目
打开eclips,新建一个Java项目命名为MysqlConnect,再在包里创建一个类,也可以命名为mysqlconnect(当然命名可以由你自己任意决定)。
3.导入jar文件,并将其添加到类库。
在项目中新建一个文件夹,命名为lib,选择解压的zip文件中后缀名为.jar的文件复制到lib文件夹中。在lib中会显示一个.jar文件。
右键项目名,选择Build Path,点击Configure Build Path...
进去之后,点击最上面列表里的Libraries,点击右边的 Add JARs...,打开你创建的包,点击lib下的.jar文件,点击ok,这样就添加了.jar文件,并将其添加到类库中了。
最后在你的项目下面会生成这样一个类库。
4.创建数据库连接。
package mysqlconnect;
import java.sql.*;
public class mysqlconnect {
public static void main(String[] args) throws ClassNotFoundException {
*//mysql5写法:com.mysql.jdbc.Driver,不需要.cj*
*//mysql8写法:com.mysql.cj.jdbc.Driver*
String driver = "com.mysql.cj.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/connect";
*//String url = "jdbc:数据库类型://localhost:端口/数据库名字";*
String username = "root";
String password = "你的数据库密码";
try {
//1.加载驱动
Class.forName(driver);
//2.创建连接
Connection connection = DriverManager.getConnection(url, username, password);
System.out.println("连接成功!" + connection);
} catch (Exception e) {
e.printStackTrace();
}
}
}
如何查找自己的端口号,navicat中可以连接数据库后查看
5.执行CRUD操作。
在执行操作之前,我们需要创建一个数据库空表,以《数据库系统概论》书上第二章课后习题的供应商表为例。
插入操作
在eclipse中连接数据库后,写入插入的SQL语句,执行SQL,执行完后关闭,释放资源。用row 记录插入的行数记录。
try {
//1.加载驱动
Class.forName(driver);
//2.创建连接
Connection connection = DriverManager.getConnection(url, username, password);
//3.创建statement;执行SQL
Statement statement = connection.createStatement();
//4.执行SQL
String sql = "insert S values('S1','精益','20','天津'),('S2','盛锡','10','北京'),('S3','东方红','30','北京'),('S4','丰泰盛','30','北京'),('S5','为民','30','上海')";
int rows = statement.executeUpdate(sql);
System.out.println(">>>>rows:" + rows);
//5.关闭 释放资源
statement.close();
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
在MySQL中输入查询命令,运行结果如下:
更新操作
将供应商代码为S1的供应商所在城市由天津更新为江西
try {
//1.加载驱动
Class.forName(driver);
//2.创建连接
Connection connection = DriverManager.getConnection(url, username, password);
//3.创建statement;执行SQL
Statement statement = connection.createStatement();
//4.执行SQL
String sql = "update S set CITY = '江西' where SNO = 'S1'";
int rows = statement.executeUpdate(sql);
System.out.println(">>>>rows:" + rows);
//5.关闭 释放资源
statement.close();
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
在MySQL中查询更新后的数据:
删除操作
删除代理商代码为S1的数据
try {
//1.加载驱动
Class.forName(driver);
//2.创建连接
Connection connection = DriverManager.getConnection(url, username, password);
//3.创建statement;执行SQL
Statement statement = connection.createStatement();
//4.执行SQL
String sql = "delete from S where SNO = 'S1'";
int rows = statement.executeUpdate(sql);
System.out.println(">>>>rows:" + rows);
//5.关闭 释放资源
statement.close();
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
运行结果如下:
查询操作
查询操作与插入、更新、删除有所不同,需要遍历每一个组件,利用游标,获取当前游标指向的记录数据,利用while循环打印下来。
try {
//1.加载驱动
Class.forName(driver);
//2.创建连接
Connection connection = DriverManager.getConnection(url, username, password);
//3.创建statement;执行SQL
Statement statement = connection.createStatement();
//4.执行SQL, 返回结果集Resultset
String sql = "select SNO,SNAME,STATUS,CITY from S";
ResultSet resultSet = statement.executeQuery(sql);
//5.遍历结果
while(resultSet.next())
{
String SNO = resultSet.getString(1);//获取第一列
String SNAME = resultSet.getString(2);
String STATUS = resultSet.getString(3);
String CITY = resultSet.getString(4);
System.out.println(SNO + " " + SNAME + " " + STATUS + " " + CITY);
}
//6.关闭 释放资源
resultSet.close();
statement.close();
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
代码运行结果如下: