3.
预编译SQL语句
将上述的Statement替换成PreparedStatement(表示预编译的 SQL 语句的对象),使用此对象可以高效地多次执行SQL语句。
一般步骤:
3.1
通过java.sql.Connection实例,调用prepareStatement(String sql)方法,以参数化的SQL语句作为参数,创建PreparedStatement对象.
3.2
通过java.sql.PreparedStatement实例,调用setXXX()方法,设置对应的参数值.
3.3
通过java.sql.PreparedStatement实例,调用executeQuery(),executeUpdate()等方法,执行数据库查询,更新等操作.
java.sql.Connection类中成员方法:
PreparedStatement
prepareStatement(String sql)
创建一个
PreparedStatement 对象来将参数化的 SQL 语句发送到数据库。
java.sql.PreparedStatement类中成员方法:
ResultSet
executeQuery()
在此
PreparedStatement 对象中执行 SQL 查询,并返回该查询生成的 ResultSet 对象。
int
executeUpdate()
在此
PreparedStatement 对象中执行 SQL 语句,该语句必须是一个 SQL INSERT、UPDATE 或
DELETE 语句;或者是一个什么都不返回的 SQL 语句,比如 DDL 语句。
关键代码:
String username = "ye";
String password = "ye";
String sql = "select * from user where username = ? and password
= ?;";
db.stmt = db.conn.prepareStatement(sql);
db.stmt.setString(1, username);
db.stmt.setString(2, password);
ResultSet rs = db.stmt.executeQuery();
分享到:
相关推荐
- `prepstmt`:`java.sql.PreparedStatement`对象,用于执行预编译的SQL语句。 - `drivers`:数据库驱动名称。 - `url`:数据库连接URL。 - `user`:数据库用户名。 - `password`:数据库密码。 - `jndi_name`:JNDI...
3. 在实际开发中,通常推荐使用JDBC,因为它更直接、高效,并且可以利用JDBC提供的高级特性,如预编译的SQL语句、批处理等。 了解和掌握这些连接方式,能帮助开发者灵活地选择适合项目的数据库连接方案,确保应用...
1. **预编译 SQL 语句**:在执行 SQL 语句之前,数据库会对其进行解析和优化,这可以显著提高执行效率。 2. **参数化查询**:允许使用占位符(通常为 `?`)来表示动态值,这些值可以在运行时被替换,从而提高了代码...
此外,还有PreparedStatement和CallableStatement,它们分别用于预编译的SQL语句和存储过程调用。 - **ResultSet**:表示查询结果的记录集,可以逐行读取查询结果。 - **SQLException**:表示任何JDBC操作中发生的...
6.1 PreparedStatement预编译对象 6.2 CallableStatement存储过程对象 6.3 BatchedUpdate对象 6.4 Rowset行集合对象 6.5 JDBC的事务 6.6 本章小结 第7章 JDBC结合Servlet与JSP 的应用 7.1 Servlet概述...
1. **预编译:** 在编写程序时,所有的SQL语句都需加上特定的前缀,如在C语言中使用`EXEC SQL`,以`;`结束;而在Java中则使用`#SQL { }`。 2. **编译处理:** 预处理程序将含嵌入式SQL语句的程序转换成标准的函数调用...
- **`PreparedStatement`**:预编译SQL语句,用于执行SQL命令。 - **`CallableStatement`**:执行存储过程。 - **`ResultSet`**:表示从数据库检索的结果集。 - **`SQLException`**:表示与数据库相关的错误。 ####...
- **PreparedStatement**: 预编译的 SQL 语句对象,它可以提高 SQL 执行效率和安全性。 - **setString()**: 设置 SQL 语句中的参数值,这里的 `1` 表示第一个参数的位置。 - **executeQuery()**: 执行查询语句并返回...
### JDBC个人小结 #### 一、JDBC简介与初始化 **JDBC**(Java Database Connectivity)是一种用于执行 SQL 语句的 Java API,可以为多种关系数据库提供统一访问,它由一组用 Java 编程语言编写的接口和类组成。...
在JSP中,我们需要先加载数据库驱动,然后创建数据库连接,接着编译SQL语句,执行查询或更新操作,最后关闭连接。在这个留言板系统中,我们会创建一个数据库表,包含留言的ID、用户名、内容和时间戳等字段。 连接...
预编译阶段,关系数据库管理系统的预处理程序将嵌入式 SQL 语句转换为函数调用。编译阶段,将含嵌入式 SQL 语句的主语言程序编译成目标语言程序。执行阶段,执行转换后的主语言程序。 嵌入式 SQL 语句与主语言之间...
嵌入式SQL的处理过程包括预编译阶段,其中SQL语句被转换为函数调用,然后主语言程序被编译成目标语言程序。所有SQL语句在主语言中需以`EXEC SQL`开头以作区分。 8.2 过程化SQL允许在SQL语句中包含流程控制逻辑,...
- 不支持预编译 SQL 语句,可能导致 SQL 注入问题。 - 每次执行 SQL 语句时都需要重新解析和执行,效率较低。 #### 四、ResultSet 接口的使用详解 - `ResultSet` 对象用于存储执行查询语句后返回的结果。 - 可以...
Statement用于执行静态SQL语句,而PreparedStatement则用于执行预编译的SQL语句,它可以提高性能,因为数据库只需要解析一次SQL语句。ResultSet接口则是用来存储SQL查询的结果。 8.2 MySQL的使用: MySQL是一个流行...
- **功能**: 连接数据库、执行 SQL 语句等。 ##### 4.2.2 连接到 MyEclipse Derby 数据库 - **步骤**: - 打开 Database Explorer 透视图。 - 创建新的数据库连接。 - 输入连接参数,包括主机名、端口、用户名和...
在主语言程序中,SQL语句通过预编译步骤转化为函数调用,以便于编译器理解。为了区分SQL语句,所有SQL语句都需以`EXEC SQL`开头,并以分号`;`结束。例如: ```sql EXEC SQL <SQL语句>; ``` 在8.1.2部分,讲述了...
- **System Global Area (SGA)**:重点介绍Shared Pool,其中包括数据字典缓存、Library Cache(SQL语句、编译后的PL/SQL代码、Java类库)等。 - **SQL共享内存区**:讲解了程序全局区(Program Global Area, PGA)...
- **JDBC实现方式**:JDBC通过一系列API实现了与数据库的交互,包括连接数据库、执行SQL语句等功能。 - **JDBCAPI的操作步骤**:包括加载驱动、建立连接、执行SQL语句、处理结果、关闭资源等。 - **高级特性**:除了...
1.4 本章小结 5 第2章 MyEclipse集成开发环境的使用 6 2.1 MyEclipse集成开发工具界面 6 2.1.1 MyEclipse的菜单栏 7 2.1.2 MyEclipse的工具栏 13 2.1.3 MyEclipse的透视图 14 2.1.4 MyEclipse的视图 17 2.1.5 ...