maven repository官网:Maven Repository: Search/Browse/Explore (mvnrepository.com)
在pom.xml的中添加jdbc相关依赖:
<dependency>
<groupId>mysqlgroupId>
<artifactId>mysql-connector-javaartifactId>
<version>8.0.30version>
dependency>
Class.forName("com.mysql.jdbc.Driver");
运行这行代码的时候可能会出现下面的warning,此时注释掉该行代码即可
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
Connection(数据库连接对象)的作用:
String url = "jdbc:mysql://ipAddress:port/database";
String username = "";
String password = "";
Connection conn = DriverManager.getConnection(url, username, password);
在定义sql之前,我们先创建一个以供测试使用的student表
CREATE TABLE `db1`.`student`( `name` CHAR(20) NOT NULL, `age` INT, PRIMARY KEY (`name`) );
顺便再往表格里插入两个数据
INSERT INTO `db1`.`student` (`name`, `age`) VALUES ('Tom', '20');
INSERT INTO `db1`.`student` (`name`, `age`) VALUES ('Lily', '22');
接下来尝试通过sql语句将Tom的年龄修改为23,sql语句如下:
String sql1 = "update student set age=23 where name='Tom';";
修改完表之后或许想要输出一下表格的内容,对应的sql语句如下:
String sql2 = "select * from student;";
Statement作用:
int executeUpdate(sql):执行DML、DDL语句,返回(1)DML语句影响的行数(2)DDL语句执行后,执行成功也可能返回0ResultSet executeQuery(sql):执行DQL语句,返回ResultSet结果集对象Statement stmt = conn.createStatement();
在执行sql时,我们希望获取sql语句执行后受影响的row的数量
int count = stmt.executeUpdate(sql1);
ResultSet rs = stmt.executeQuery(sql2);
输出以下处理的结果
// 修改数据
System.out.println(count);
// 查看表
while (resultSet.next()) {
String name = resultSet.getString("name");
int age = resultSet.getInt("age");
System.out.println("name: "+name+", age: "+age);
}
stmt.close();
conn.close();
import java.sql.*;
public class jdbc_test {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// 1. 注册驱动
// Class.forName("com.mysql.jdbc.Driver");
// 2. 获取连接对象
String url = "";
String username = "";
String password = "";
Connection conn = DriverManager.getConnection(url, username, password);
//3. 定义SQL
// 修改年龄
String sql1 = "update student set age=23 where name='Tom';";
// 输出student表
String sql2 = "select * from student";
//4. 获取执行sql的对象
Statement stmt = conn.createStatement();
//5. 执行sql
int count = stmt.executeUpdate(sql1);
ResultSet resultSet = stmt.executeQuery(sql2);
//6. 处理结果
System.out.println(count);
while (resultSet.next()) {
String name = resultSet.getString("name");
int age = resultSet.getInt("age");
System.out.println("name: "+name+", age: "+age);
}
//7. 释放资源
stmt.close();
conn.close();
}
}