JDBC之Statement接口

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();
			}
		}
	}
}

猜你喜欢

转载自blog.csdn.net/coco_love24/article/details/80952644
今日推荐