1.步骤
1.创建项目
2.引入依赖:JDBC编程需要用到mysql驱动包
1)下载驱动包
2)创建项目
3)创建个目录,叫做lib
4)把下载的jar文件拷贝到刚才的目录中
5)右键刚才的目录,选择add as library
3.编写代码
2.增操作
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;
/**
* ClassName TestJDBC
* Description
* Create by 93900
* Date 2022/6/3 21:11
*/
public class TestJDBCInsert {
public static void main(String[] args) throws SQLException {
Scanner scanner = new Scanner(System.in);
//1.创建好数据源 相当于请求别人帮忙取快递告诉快递信息
DataSource dataSource = new MysqlDataSource();
//设置数据库所在位置
((MysqlDataSource) dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java102?characterEncoding=utf8&useSSL=false");
//设置登录数据库的用户名
((MysqlDataSource) dataSource).setUser("root");
// 这个是设置登录数据库的密码
((MysqlDataSource) dataSource).setPassword("1234");
//2.让代码和数据库服务器建立连接~~ 相当于到达了菜鸟驿站
Connection connection = dataSource.getConnection();
System.out.println("请输入学号");
int id = scanner.nextInt();
System.out.println("请输入姓名: ");
String name = scanner.next();
// 3. 操作数据库. 以插入数据为例.
// 关键所在就是构造一个 SQL 语句~
// 在 JDBC 中构造的 SQL, 不必带上 ;
// ; 只是在命令行中用来区分不同的语句. 现在是直接在代码中操作~~
String sql = "insert into student values(?, ?)";
// 此处光是一个 String 类型的 sql 还不行, 需要把这个 String 包装成一个 "语句对象"
PreparedStatement statement = connection.prepareStatement(sql);
statement.setInt(1, id);
statement.setString(2, name);
System.out.println(statement);
// 4. 执行 SQL , 相当于扫码取件
// SQL 里面如果是 insert, update, delete, 都使用 executeUpdate 方法.
// SQL 里面如果是 select, 则使用 executeQuery 方法.
// 返回值就表示这个操作, 影响到了 几行. 就相当于在控制台里输入 sql 之后, 得到的数字~
int ret = statement.executeUpdate();
System.out.println(ret);
// 5. 此时 SQL 已经执行完毕. 然后还需要释放资源.
statement.close();
connection.close();
}
}
3.改操作
public class TestJDBCUpdate {
public static void main(String[] args) throws SQLException {
Scanner scanner = new Scanner(System.in);
//1.创建好数据源 相当于请求别人帮忙取快递告诉快递信息
DataSource dataSource = new MysqlDataSource();
//设置数据库所在位置
((MysqlDataSource) dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java102?characterEncoding=utf8&useSSL=false");
//设置登录数据库的用户名
((MysqlDataSource) dataSource).setUser("root");
// 这个是设置登录数据库的密码
((MysqlDataSource) dataSource).setPassword("1234");
//2.让代码和数据库服务器建立连接~~ 相当于到达了菜鸟驿站
Connection connection = dataSource.getConnection();
// 3. 输入信息
System.out.println("请输入要修改的学生id: ");
int id = scanner.nextInt();
System.out.println("请输入要修改的学生姓名: ");
String name = scanner.next();
// 4. 拼装 sql 语句
String sql = "update student set name = ? where id = ?";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setString(1, name);
statement.setInt(2, id);
// 5. 执行 sql
int ret = statement.executeUpdate();
System.out.println("ret = " + ret);
// 6. 回收释放资源
statement.close();
connection.close();
}
}
4.查操作
public class TestJDBCSelect {
public static void main(String[] args) throws SQLException {
//1.创建好数据源 相当于请求别人帮忙取快递告诉快递信息
DataSource dataSource = new MysqlDataSource();
//设置数据库所在位置
((MysqlDataSource) dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java102?characterEncoding=utf8&useSSL=false");
//设置登录数据库的用户名
((MysqlDataSource) dataSource).setUser("root");
// 这个是设置登录数据库的密码
((MysqlDataSource) dataSource).setPassword("1234");
//2.让代码和数据库服务器建立连接~~ 相当于到达了菜鸟驿站
Connection connection = dataSource.getConnection();
// 3. 拼装 sql 语句
String sql = "select* from student";
PreparedStatement statement = connection.prepareStatement(sql);
// 4. 执行 sql
ResultSet resultSet = statement.executeQuery();
//5.遍历结果集和(返回的临时表),结束时此时的next直接返回false
while (resultSet.next()){
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
System.out.println("id=" + id + ",name=" + name);
}
// 6. 回收释放资源
statement.close();
connection.close();
}
}
5.删操作
public class TestJDBCDelete {
public static void main(String[] args) throws SQLException {
Scanner scanner = new Scanner(System.in);
//1.创建好数据源 相当于请求别人帮忙取快递告诉快递信息
DataSource dataSource = new MysqlDataSource();
//设置数据库所在位置
((MysqlDataSource) dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java102?characterEncoding=utf8&useSSL=false");
//设置登录数据库的用户名
((MysqlDataSource) dataSource).setUser("root");
// 这个是设置登录数据库的密码
((MysqlDataSource) dataSource).setPassword("1234");
//2.让代码和数据库服务器建立连接~~ 相当于到达了菜鸟驿站
Connection connection = dataSource.getConnection();
// 3. 用户输入 id
System.out.printf("请输入一个要删除的 id: ");
int id = scanner.nextInt();
// 4. 拼装 sql 语句
String sql = "delete from student where id = ?";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setInt(1, id);
// 5. 执行 sql
int ret = statement.executeUpdate();
System.out.println("ret = " + ret);
// 6. 回收释放资源
statement.close();
connection.close();
}
}