Maison > Article > base de données > Comment utiliser MySQL pour la programmation JDBC et l'ajout, la suppression, la modification et la requête
JDBC est une API Java utilisée pour exécuter des instructions SQL. Il s'agit d'une spécification de connexion à une base de données en Java. Il fournit une API standard qui permet aux développeurs Java d'accéder uniformément à plusieurs bases de données relationnelles
L'essence est d'implémenter un client MySQL via le code et d'interagir avec le serveur via le réseau. Le client ne peut pas apparaître de nulle part, donc la base de données. fournit un ensemble d'API pour faciliter notre implémentation.Il existe de nombreux types de bases de données, et les API fournies par différentes bases de données sont différentes, donc afin de résoudre ce problème, Java fournit JDBC, une API d'exploitation de base de données fournie avec Java. L'API couvre le mode de fonctionnement de toutes les opérations de base de données
Essentiellement, Java effectue lui-même la conversion entre l'API JDBC et l'API de base de données
pour créer un objet DataSource, qui décrit l'objet Où se trouve le serveur de base de données
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();
Splice l'instruction sql (écrivez l'instruction sql)
String sql = "insert into student values(1,'张三')";
Emballez l'instruction sql dans un objet
PreparedStatement statement = connection.prepareStatement(sql);
Exécutez le Instruction SQL (appuyez sur Entrée pour exécuter l'instruction SQL)
int ret = statement.executeUpdate();
Exécuter la mise à jour, supprimer l'insertion Utiliser la méthode exécuterUpdate()
Exécuter la sélection Utiliser la méthode exécuterQuery()
Utiliser la méthode exécuterQuery() pour renvoyer une collection resultSet, contenant les données trouvées, initialement Dans ce cas, le resultSet ne pointe vers aucune ligne d'enregistrements. Utilisez next pour le pointer vers le premier enregistrement, puis utilisez next pour pointer vers l'enregistrement suivant
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(); } }
Utilisez JDBC pour implémenter la suppression (delete)
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(); }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!