Maison  >  Article  >  base de données  >  Comment utiliser MySQL pour la programmation JDBC et l'ajout, la suppression, la modification et la requête

Comment utiliser MySQL pour la programmation JDBC et l'ajout, la suppression, la modification et la requête

WBOY
WBOYavant
2023-05-30 21:37:11853parcourir

Programmation de base de données Java JDBC

Concept

  • 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

Utilisez les étapes

Comment utiliser MySQL pour la programmation JDBC et lajout, la suppression, la modification et la requête 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");

Connectez-vous à la base de données via la connexion (entrez le mot de passe pour vous connecter avec succès)

//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();
  • . Utilisez JDBC pour implémenter l'insertion
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();
    }

Utilisez JDBC pour implémenter la modification (mise à jour)

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();
    }
}

Utilisez JDBC pour implémenter la recherche (sélectionner)

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer