基于上篇文章jsp基础——JDBC(1).
定义—— 实体类Student。@如下:
package org.zp.entity;
public class Student {
private int stu_id;
private String stu_name;
private String stu_age;
private String stu_sex;
private String stu_dept;
private String stu_class;
private String stu_birth;
private String Notes;
public Student() {
super();
}
public int getStu_id() {
return stu_id;
}
public void setStu_id(int stu_id) {
this.stu_id = stu_id;
}
public String getStu_name() {
return stu_name;
}
public void setStu_name(String stu_name) {
this.stu_name = stu_name;
}
public String getStu_age() {
return stu_age;
}
public void setStu_age(String stu_age) {
this.stu_age = stu_age;
}
public String getStu_sex() {
return stu_sex;
}
public void setStu_sex(String stu_sex) {
this.stu_sex = stu_sex;
}
public String getStu_dept() {
return stu_dept;
}
public void setStu_dept(String stu_dept) {
this.stu_dept = stu_dept;
}
public String getStu_class() {
return stu_class;
}
public void setStu_class(String stu_class) {
this.stu_class = stu_class;
}
public String getStu_birth() {
return stu_birth;
}
public void setStu_birth(String stu_birth) {
this.stu_birth = stu_birth;
}
public String getNotes() {
return Notes;
}
public void setNotes(String notes) {
Notes = notes;
}
public Student(int Stu_id, String Stu_name, String Stu_age, String Stu_sex,
String Stu_dept, String Stu_class, String Stu_birth, String Notes) {
super();
this.stu_id = Stu_id;
this.stu_name = Stu_name;
this.stu_age = Stu_age;
this.stu_sex = Stu_sex;
this.stu_dept = Stu_dept;
this.stu_class = Stu_class;
this.stu_birth = Stu_birth;
this.Notes = Notes;
}
}
@Statement练习如下:
package org.zp.statement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import org.zp.entity.Student;
import org.zp.util.DbUtil;
public class StudentDao {
public static void main(String[] args) {
String sql = "select * from T_Student where stu_sex ='男' and stu_age<24 and stu_age>20" ;
Student student = null;
Connection conn = DbUtil.getConnection();
Statement stmt = null;
ResultSet rs = null;
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
while(rs.next()) {
student = new Student(rs.getInt("stu_id"),
rs.getString("stu_name"), rs.getString("stu_age"),
rs.getString("stu_sex"), rs.getString("stu_dept"),
rs.getString("stu_class"), rs.getString("stu_birth"),
rs.getString("Notes"));
System.out.println(student.getStu_name()+", "+student.getStu_age());
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
rs.close();
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
Statement接口提供了三种执行SQL语句的方法:executeQuery、executeUpdate和execute。使用哪一个方法由SQL语句所产生的内容决定。
方法executeQuery用于产生单个结果集的语句,例如SELECT语句。方法executeUpdate用于执行INSERT、UPDATE或DELETE语句以及SQL DDL(数据定义语言)语句,例如CREATE TABLE和DROP TABLE。INSERT、UPDATE或DELETE语句的效果是修改表中零行或多行中的一列或多列。executeUpdate的返回值是一个整数,指示受影响的行数(即更新计数)。对于CREATE TABLE或DROP TABLE等不操作行的语句,executeUpdate的返回值总为零。
执行语句的所有方法都将关闭所调用的Statement对象的当前打开结果集(如果存在)。这意味着在重新执行Statement对象之前,需要完成对当前ResultSet对象的处理。应注意,继承了Statement接口中所有方法的PreparedStatement接口都有自己的executeQuery、executeUpdate和execute方法。Statement对象本身不包含SQL语句,因而必须给Statement.execute方法提供SQL语句作为参数。PreparedStatement对象并不需要SQL语句作为参数提供给这些方法,因为它们已经包含预编译SQL语句。