`
kabike
  • 浏览: 606073 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

mysql的PreparedStatement

阅读更多
环境为
mysql 5.1.39
mysql-connector-j  5.1.11
测试代码
public static void main(String[] args) throws Exception {
Connection conn = getConnection();

PreparedStatement ps = conn
.prepareStatement("select * from test where name=?");
ps.setInt(1, 1);
ps.execute();

Statement stmt = conn.createStatement();

stmt.execute("select * from test where name=1");

conn.commit();
conn.close();

}

private static Connection getConnection() throws Exception {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/db_test?useServerPrepStmts=false",
"db_test", "db_test");
conn.setAutoCommit(false);
return conn;
}

在mysql驱动url中如果设置useServerPrepStmts=false,那么上面两条语句执行时,向服务器发送的数据包一样(用wireshark抓包工具加断点看到)。
如果设置useServerPrepStmts=true,那么执行conn.prepareStatement("select * from test where name=?");语句时,会向服务器发送命令,告知这条语句,执行ps.execute();时则只发送参数和语句编号。此时在服务器端
mysql> show global status like 'Com_stmt%' ;
可以看到 Com_stmt_prepare数量增加。
分享到:
评论

相关推荐

    MySql练习3:使用PreparedStatement插入宠物信息.zip

    MySql练习3:使用PreparedStatement插入宠物信息.zip MySql练习3:使用PreparedStatement插入宠物信息.zip MySql练习3:使用PreparedStatement插入宠物信息.zip

    如何获得PreparedStatement最终执行的sql语句

    一种可能的方法是通过日志配置,例如,启用MySQL的`Statement`和`PreparedStatement`日志,这样在执行时会打印出详细的SQL语句。 另外,开发工具如IntelliJ IDEA、Eclipse等,或者数据库管理工具如MySQL Workbench...

    Mysql5.6、Mysql5.7 JDBC驱动

    MySQL是世界上最受欢迎的关系型数据库管理系统之一,而JDBC(Java Database Connectivity)是Java语言与数据库交互的标准接口。本文将深入探讨Mysql5.6和Mysql5.7的JDBC驱动,以及如何使用`mysql-connector-java-...

    mysql驱动jar 文件适用MySQL5.7

    MySQL驱动jar文件是Java应用程序与MySQL数据库之间通信的关键组件,主要功能是提供Java Database Connectivity (JDBC) API,使得Java开发者能够通过编写Java代码来执行SQL语句,从而操作MySQL数据库。标题提到的...

    mysql-connect-java-5.1.41 mysql5版本和8版本的连接包!

    `mysql-connector-java-5.1.41.jar` 是针对MySQL 5.x版本的JDBC驱动,而 `mysql-connector-java-8.0.29.jar` 和 `mysql-connector-java-8.0.26.jar` 则适用于较新的MySQL 8.x版本。每个版本的驱动都是为了匹配特定...

    PreparedStatement 详细用法

    为了能够使用`PreparedStatement`,首先需要确保已经安装了MySQL数据库,并且在项目中引入了MySQL JDBC驱动。以下是一个简单的示例代码,演示如何通过`PreparedStatement`进行基本的数据库操作。 ```java import ...

    PreparedStatement和Statement

    `PreparedStatement`和`Statement`接口通常由数据库驱动实现,比如MySQL Connector/J或PostgreSQL JDBC驱动。 5. **工具支持** 在实际开发中,很多IDE(集成开发环境)和ORM(对象关系映射)框架如Hibernate,都...

    mysql工具类 jdbc操作mysql java操作mysql mysql驱动

    MySQL工具类是Java开发中常用的一种抽象,它封装了对MySQL数据库进行操作的基本方法,使得开发者无需关注底层的SQL执行细节,而是通过调用预定义的函数就能完成数据的增删改查等任务。本篇将详细介绍这个工具类以及...

    mysql-connector-java java连接mysql库

    4. 执行SQL:通过`Statement`或`PreparedStatement`对象执行SQL查询和操作。 5. 处理结果:获取`ResultSet`对象,遍历并处理查询结果。 6. 关闭资源:在完成操作后,确保关闭`ResultSet`、`Statement`和`Connection`...

    mysql-connector-java-5.1.25, mysql 5.7.31亲测有效

    MySQL是世界上最受欢迎的关系型数据库管理系统之一,而MySQL Connector/J则是MySQL与Java应用程序之间的桥梁,它是一个JDBC(Java Database Connectivity)驱动程序,使得Java开发者能够方便地在Java应用中访问和...

    mysql-connector-java Linux下MySQL的JDBC驱动Jar包

    - 使用PreparedStatement预编译SQL语句,可以提高执行效率。 - 适当使用批处理(Batch Processing)提交多条SQL语句,减少网络通信次数。 - 通过设置连接池,如C3P0或HikariCP,可以重用数据库连接,减少资源消耗...

    mysql57驱动jar包,mysql8.0.31版本 Connector/J 8.0.31

    4. **执行SQL语句**:连接建立后,你可以使用Statement或PreparedStatement对象执行SQL查询、更新等操作。 5. **关闭连接**:完成操作后,记得关闭数据库连接以释放资源。 **配置注意事项** - **SSL连接**:如果...

    mysql-connector-java-5.1.40.zip和mysql-connector-java-5.1.10.jar

    MySQL是世界上最受欢迎的开源数据库系统之一,而MySQL Connector/J是MySQL官方提供的用于Java应用程序与MySQL数据库之间连接的驱动程序。本文将深入探讨这两个文件:"mysql-connector-java-5.1.40.zip" 和 "mysql-...

    JDBC基础教程之PreparedStatement.doc

    Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "user", "password"); PreparedStatement pstmt = con.prepareStatement("UPDATE table4 SET m=? WHERE x=?"); ``` #### 四...

    JDBC:MySQL8.0.29驱动

    MySQL JDBC驱动,也称为MySQL Connector/J,是MySQL数据库的官方Java驱动程序,用于建立Java应用程序与MySQL数据库之间的连接。 MySQL 8.0.29版本的JDBC驱动是为MySQL 8.x系列数据库系统设计的,提供了最新的功能和...

    MySQL 5.7 版本驱动包

    MySQL 5.7 版本驱动包是针对Java开发者用于连接MySQL数据库的重要组件,它遵循JDBC(Java Database Connectivity)规范,使得Java程序能够通过标准API与MySQL数据库进行交互。在Java应用程序中,我们通常使用MySQL ...

    mysql57驱动jar包

    同时,注意在应用程序中使用预编译的SQL语句(PreparedStatement)来防止SQL注入攻击。 7. **配置优化**: MySQL Connector/J的配置可以通过JDBC URL的参数进行调整,如连接超时、自动重连策略、字符编码等。正确...

    Mysql依赖jar包

    MySQL是一款广泛使用的开源关系型数据库管理系统,其便捷性、稳定性和高效性使其在全球范围内得到了广泛应用。在Java开发中,为了与MySQL数据库进行交互,通常会使用特定的驱动程序,也就是所谓的JDBC(Java ...

    MySQL驱动jar包(mysql-connector-java)

    MySQL驱动jar包,即`mysql-connector-java`,是MySQL数据库与Java应用程序之间通信的关键组件。这个jar包包含了Java编程语言所需的类库,使得开发者能够通过JDBC(Java Database Connectivity)接口连接到MySQL...

    Java实现批量向mysql写入数据的方法

    2. Java实现批量向mysql写入数据:通过使用PreparedStatement对象,可以实现批量向mysql写入数据的操作。PreparedStatement对象提供了addBatch()方法,用于添加批量执行的SQL语句,并且提供了executeBatch()方法,...

Global site tag (gtag.js) - Google Analytics