JDBC는 SQL 문을 실행하는 데 사용되는 Java API입니다. 이 API는 몇 가지 인터페이스와 클래스로 구성됩니다. Java 개발자가 여러 관계형 데이터베이스에 균일하게 액세스할 수 있도록 하는 표준 API를 제공합니다
핵심은 코드를 통해 MySQL 클라이언트를 구현하고 네트워크를 통해 서버와 상호 작용하는 것입니다. 우리의 구현을 용이하게 하기 위해 API 세트를 제공하며, 데이터베이스마다 제공하는 API가 다릅니다. 따라서 이러한 문제를 해결하기 위해 Java에서는 Java와 함께 제공되는 데이터베이스 작업 API인 JDBC를 제공합니다. API는 모든 데이터베이스 작업의 작업 모드를 다룹니다
본질적으로 Java 자체는 JDBC API와 데이터베이스 API
개체를 설명하는 DataSource 개체를 생성합니다. 데이터베이스 서버는 어디에 있습니까?
DataSource dataSource = new MysqlDataSource(); //设置数据库所在的地址 ((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/lmp?characterEncoding=utf8&useSSL=false"); //设置登录数据库的用户名 ((MysqlDataSource)dataSource).setUser("root"); //设置登录数据库的密码 ((MysqlDataSource)dataSource).setPassword("woshizhu123");
//import java.sql.Connection; Connection connection = dataSource.getConnection();
sql 문을 연결합니다. (sql 문을 작성합니다.)
String sql = "insert into student values(1,'张三')";
sql 문을 객체로 압축합니다.
PreparedStatement statement = connection.prepareStatement(sql);
실행합니다. sql 문 (Enter를 눌러 sql 문 실행)
int ret = statement.executeUpdate();
Execute update delete insert executeUpdate() 메소드 사용
Execute select ExecuteQuery() 메소드 사용
executeQuery() 메소드를 사용하여 resultSet 컬렉션 반환, 발견된 데이터가 포함되어 있습니다. 이 경우 처음에는 resultSet이 레코드의 어떤 행도 가리키지 않습니다. next를 사용하여 첫 번째 레코드를 가리킨 다음 next를 사용하여 다음 레코드를 가리킵니다
Release resources
statement.close(); connection.close();
public class TestJDBC { public static void main(String[] args) throws SQLException { Scanner scanner = new Scanner(System.in); DataSource dataSource = new MysqlDataSource(); ((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java102?characterEncoding=utf-8&useSSL=false"); ((MysqlDataSource)dataSource).setUser("root"); ((MysqlDataSource)dataSource).setPassword("woshizhu123"); Connection connection = dataSource.getConnection(); System.out.println("输入id"); int id = scanner.nextInt(); System.out.println("输入名字"); String name = scanner.next(); String sql = "insert into student values(?,?)"; PreparedStatement statement = connection.prepareStatement(sql); statement.setInt(1,id); statement.setString(2,name); int ret = statement.executeUpdate(); if(ret == 1){ System.out.println("插入成功"); }else { System.out.println("插入失败"); } statement.close(); connection.close(); } }
JDBC를 사용하여 삭제(삭제) 구현
public class TestJDBCDelete { public static void main(String[] args) throws SQLException { 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("woshizhu123"); Connection connection = dataSource.getConnection(); Scanner scanner = new Scanner(System.in); System.out.println("请输入要删除的id"); int id = scanner.nextInt(); String sql = "delete from student where id = ?"; PreparedStatement preparedStatement = connection.prepareStatement(sql); preparedStatement.setInt(1,id); int ret = preparedStatement.executeUpdate(); System.out.println(ret); preparedStatement.close(); connection.close(); }
public class TestJDBCUpdate { public static void main(String[] args) throws SQLException { 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("woshizhu123"); Connection connection = dataSource.getConnection(); Scanner scanner = new Scanner(System.in); System.out.println("请输入要修改的学生id"); int id = scanner.nextInt(); System.out.println("请输入要修改的学生姓名"); String name = scanner.next(); String sql = "update student set name = ? where id = ?"; PreparedStatement statement = connection.prepareStatement(sql); statement.setString(1,name); statement.setInt(2,id); int ret = statement.executeUpdate(); System.out.println(ret); statement.close(); connection.close(); } }
public static void testJDBCSelect() throws SQLException { //1创建DataSource对象 DataSource dataSource = new MysqlDataSource(); //2连接数据库 ((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java_5_31?characterEncoding=utf-8&useSSL=true"); ((MysqlDataSource)dataSource).setUser("root"); ((MysqlDataSource)dataSource).setPassword("listen"); Connection connection = dataSource.getConnection(); //3拼接sql String sql = "select * from student"; PreparedStatement statement = connection.prepareStatement(sql); //4执行sql ResultSet resultSet = statement.executeQuery(); //5遍历得到的集合 while (resultSet.next()) { int id = resultSet.getInt("id"); String name = resultSet.getString("name"); int classId = resultSet.getInt("classId"); System.out.println("id " + id + " name " + name + " classId " + classId); } //6关闭资源 resultSet.close(); statement.close(); connection.close(); }
위 내용은 JDBC 프로그래밍 및 추가, 삭제, 수정 및 쿼리에 MySQL을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!