(4)JDBC的Statement对象使用
来源:互联网 发布:剑灵灵族捏脸数据免费 编辑:程序博客网 时间:2024/06/06 05:11
一 Statement使用分析
Statement对象用于处理无参查询(普通查询),使用步骤如下:
1. 创建Statement对象
通过Connection对象的createStatement()方法创建Statement对象。eg:
Statement st = conn.createStatement();
2. 设置基本选项
在创建完Statement对象后,可以通过该对象的一些方法,设置需要的属性。
Statement对象设置方法如下:
eg:
Statement st = conn.createStatement();
st.setMaxRows(10);// 设置最大返回行数,这里设置10条
3. 执行查询SQL
查询可以使用Statement对象的executeQuery()和execute()方法。
两个方法的参数均为一个拼接好的String类型字符串SQL。
executeQuery()方法只能执行一条SQL,返回ResultSet对象。
execute()方法应该仅在语句能返回多个 ResultSet 对象、
多个更新计数或ResultSet对象与更新计数的组合时使用。
可以通过getResultSet获取ResultSet对象等等。
4. executeUpdate方法
executeUpdate()方法 用于执行 INSERT、UPDATE 或 DELETE 语句
以及 SQLDDL(数据定义语言)语句,例如 CREATE TABLE 和 DROP TABLE。INSERT、UPDATE
或DELETE语句的效果是修改表中零行或多行中的一列或多列,可以根据返回结果判断是否执行成功
executeUpdate 的返回值是一个整数,指示受影响的行数(即更新计数)。
对于CREATE TABLE 或DROP TABLE 等不操作行的语句,executeUpdate 的返回值总为零,
所以不能因为其返回0就认为没有成功。
eg:
// 测试executeUpdate
int resultCount =
st.executeUpdate(" UPDATE t_user_main SET userPwd = 'testExecuteUpdate' "
+ "WHERE oid = '1' ");
5. 关闭Statement对象
调用Statement对象的close()方法。
二 Statement使用实例
1. 创建t_user_main表
CREATE TABLE `t_user_main` ( `oid` varchar(32) NOT NULL COMMENT '主键', `userName` varchar(255) DEFAULT NULL COMMENT '用户名', `userPwd` varchar(255) DEFAULT NULL COMMENT '登陆密码', PRIMARY KEY (`oid`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2. 插入数据
INSERT INTO t_user_main (oid,userName,userPwd) VALUES ('1','one','111111'),('2','two','222222');
3. java代码示例
package com.lanhuigu.JavaBase.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;public class JdbcStatementTest {public static void main(String[] args) {String user = "root"; String password = "lanhuigu"; /* * useUnicode=true:表示使用Unicode字符集 * characterEncoding=UTF8:字符编码方式 * allowMultiQueries=true:是否允许批量处理 */ String url = "jdbc:mysql://127.0.0.1:3306/lanhuigu_web?useUnicode=true" + "&characterEncoding=UTF8&allowMultiQueries=true"; String driver = "com.mysql.jdbc.Driver"; try { //1.加载驱动程序 Class.forName(driver); //2.建立连接 Connection conn = DriverManager.getConnection(url, user, password); //3.创建Statement对象 Statement st = conn.createStatement(); st.setMaxRows(10);// 设置最大返回行数,这里设置10条 String sql = " SELECT oid, userName, userPwd FROM t_user_main "; //4.查询--返回查询结果 ResultSet rs = st.executeQuery(sql); //5.打印查询结果 while (rs.next()) {System.out.println("oid:"+rs.getString("oid") + ", userName:" + rs.getString("userName") + ", userPwd:" + rs.getString("userPwd"));} // 测试executeUpdate int resultCount = st.executeUpdate(" UPDATE t_user_main SET userPwd = 'testExecuteUpdate' " + "WHERE oid = '1' ");// 从数据库查询,验证是否成功 System.out.println("executeUpdateResult:" + resultCount); //6.关闭连接 st.close();// 关闭Statement对象 conn.close();// 关闭数据库连接 } catch (Exception e) { System.out.println("数据库连接失败"); }}}控制台打印:
关于executeUpdate()方法执行后的数据库效果,oid为1的userPwd成功被更新,
同时,在程序控制台打印更新结果为1,说明更新影响数据行数为1:
- (4)JDBC的Statement对象使用
- JDBC 之 Statement 对象
- JDBC 之 Statement 对象
- JDBC (二) -- Statement对象
- Java数据库连接(JDBC)之二:Statement对象和PreparedStatement对象的使用
- JDBC的使用——Statement
- JSP基础(十四)——使用JDBC的Statement对象和PreparedStatement对象对数据库进行CRUD
- 关于jdbc中Statement对象isClosed()的问题
- JDBC中操作数据库的三个对象:Statement;PreparedStatement;CallableStatement
- JDBC的预编译语言对象PreparedStatement为什么优于Statement
- JDBC 4 PreparedStatement 与Statement 的区别
- JDBC-Statement的批处理
- JDBC使用 PreparedStatement 比使用 Statement 的好处
- JDBC使用statement,PreparedState…
- JDBC使用PreparedStatement而不是Statement的原因(转)
- JDBC中PreparedStatement与Statement的区别与使用
- JDBC中Statement、PreparedStatement和CallableStatement的使用
- JDBC中使用preparedStatement相比statement的优势
- TensorFlow学习笔记--安装配置-windows
- c语言运算符优先顺序一览表
- ajax知识总结系列一
- HBase完全分布式集群安装
- leetcode Generate Parentheses(Java)
- (4)JDBC的Statement对象使用
- Maven pom.xml配置常用的变量
- 文件索引结构
- 我的学习之路_第十七章_JavaUtils
- 树莓派智能监控小车(QT+树莓派)------整体思路
- 【工作笔记】笨办法搞定jasper动态列
- mybatis-03接口式编程
- codeforces 236A(Boy or Girl) Java
- 【Android】OkHttp和Retrofit拿到的json数据是Unicode,我要的是UTF-8呀