JDBC之Statement与PreparedStatement操作数据库对比

本文涉及的产品
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
简介: JDBC之Statement与PreparedStatement操作数据库对比

一、Statement

 public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //注册驱动
        Class.forName("com.mysql.jdbc.Driver");
 
        //获取连接
        String url = "jdbc:mysql://localhost:3306/ns_cloud?useSSL=false&useUnicode=true&characterEncoding=utf-8";
        String user = "root";
        String password = "123456";
        Connection connection = DriverManager.getConnection(url, user, password);
 
        //定义sql
        String sql = "SELECT t.*  FROM ns_cloud.ns_client t where id =1 and is_bind=1 limit 2";
 
        //获取执行对象Statement
        Statement statement = connection.createStatement();
 
        //这行sql
        ResultSet resultSet = statement.executeQuery(sql);
 
        //处理结果
        while (resultSet.next()) {
            int id = resultSet.getInt("id");
            String name = resultSet.getString("client_name");
            // 其他列的数据获取
            System.out.println("ID: " + id + ", Name: " + name);
        }
 
        //释放资源
        statement.close();
        connection.close();
 
    }

二、PreparedStatement

 public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //注册驱动
        Class.forName("com.mysql.jdbc.Driver");
 
        //获取连接
        String url = "jdbc:mysql://localhost:3306/ns_cloud?useSSL=false&useUnicode=true&characterEncoding=utf-8";
        String user = "root";
        String password = "123456";
        Connection connection = DriverManager.getConnection(url, user, password);
 
        String preId="1";
        String isBand="1";
        //定义sql
        String sql = "SELECT t.*  FROM ns_cloud.ns_client t where id =? and is_bind=? limit 2";
 
        //获取执行对象Statement
        PreparedStatement preparedStatement = connection.prepareStatement(sql);
        preparedStatement.setString(1,"1");
        preparedStatement.setString(2,isBand);
 
        //这行sql
        ResultSet resultSet = preparedStatement.executeQuery();
 
        //处理结果
        while (resultSet.next()) {
            int id = resultSet.getInt("id");
            String name = resultSet.getString("client_name");
            // 其他列的数据获取
            System.out.println("ID: " + id + ", Name: " + name);
        }
 
        //释放资源
        preparedStatement.close();
        connection.close();
 
    }
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
6月前
|
SQL Java 数据库连接
除了JDBC,还有哪些常见的数据库访问技术?
除了JDBC,还有哪些常见的数据库访问技术?
576 2
|
SQL Java 数据库连接
【YashanDB知识库】statement级别的触发器在jdbc接口调用executeBatch时被多次触发
statement级别的触发器在jdbc接口调用executeBatch时被多次触发
|
SQL Java 关系型数据库
使用 JDBC 实现 Java 数据库操作
JDBC(Java Database Connectivity)是 Java 提供的数据库访问技术,允许通过 SQL 语句与数据库交互。本文详细介绍了 JDBC 的使用方法,包括环境准备、编程步骤和完整示例。
1196 7
|
SQL Java 数据库连接
【YashanDB数据库】由于网络带宽不足导致的jdbc向yashandb插入数据慢
由于网络带宽不足导致的jdbc向yashandb插入数据慢
|
SQL Java 数据库连接
JDBC编程安装———通过代码操控数据库
本文,教你从0开始学习JBCD,包括驱动包的下载安装调试设置,以及java是如何通过JBDC实现对数据库的操作,以及代码的分析,超级详细
|
SQL Java 数据库连接
如何使用`DriverManager.getConnection()`连接数据库,并利用`PreparedStatement`执行参数化查询,有效防止SQL注入。
【10月更文挑战第6天】在代码与逻辑交织的世界中,我从一名数据库新手出发,通过不断探索与实践,最终成为熟练掌握JDBC的开发者。这段旅程充满挑战与惊喜,从建立数据库连接到执行SQL语句,再到理解事务管理和批处理等高级功能,每一步都让我对JDBC有了更深的认识。示例代码展示了如何使用`DriverManager.getConnection()`连接数据库,并利用`PreparedStatement`执行参数化查询,有效防止SQL注入。
494 5
|
SQL druid Java
JDBC和数据库连接池-两个工具类-JDBCUtilsByDruid和BasicDAO
JDBC和数据库连接池-两个工具类-JDBCUtilsByDruid和BasicDAO
643 0
|
Java 关系型数据库 MySQL
mysql5.7 jdbc驱动
遵循上述步骤,即可在Java项目中高效地集成MySQL 5.7 JDBC驱动,实现数据库的访问与管理。
3019 1
|
SQL druid Java
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
276 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
下一篇
开通oss服务