Statement对象的创建及关闭:con.createStatement 、close()方法
Statement对象处理sql语句的三种方法:
- boolean execute(sql语句):如果检索到ResultSet对象(结果集)返回true,多于用数据库的建立和表格的创建
- int executUpdate(sql语句):返回表格受影响的实体数,多用于表格的数据的插入、更新、删除
- ResultSet executeQuery:返回结果集,多用于查询操作,查询操作无论有没结果都会返回结果集
Statement对象特点;
- 不能插入参数
- 不能避免sql注入
- 单次操作效率高
Statement使用Demo
package cn.woniuxueyuan.mysqldemo;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
* 使用Statement对象处理数据库
* @author Administrator
*
*/
public class StatmentDemo {
public static void main(String[] args) {
Connection con = msyqlTest.ConDemo();
Statement st = null;
try {
/*静态工厂创建Statement实例*/
st = con.createStatement();
/* String select = "select * from student;"; */
String select = "UPDATE student SET sex='女' WHERE `name` ='张三'";
/* execute()方法有结果集返回true,查询操作无论是否有数据都会返回true */
boolean se = st.execute(select);
if (se) {
/* 获取结果集 */
ResultSet set = st.getResultSet();
/* 处理结果集 */
while (set.next()) {
int id = set.getInt("s_id");
String name = set.getString("name");
System.out.println(name + id);
}
} else {
/* 返回受影响行数 */
System.out.println(st.getUpdateCount());
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
st.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}