<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">一.执行SQL语句</span>
使用PreparedStatement,由PreparedStatement创建,PreparedStatement对象用于发送带有一个或多个输入参数的SQL语句,执行语句时,输入参数将被送到数据库中。PreparedStatement的实例扩展了Statement,因此它们包括了Statement方法,但PreparedStatement对象的效率更高。执行PreparedStatement对象之前,必须设置每个?参数的值,通过setXXX方法来完成,如setString
二.检索结果
SQL语句发送完以后,返回的结果存放在一个ResultSet类的对象中,ResultSet对象可以看作是一个表,这个表中包含由SQL返回的列名和相应的值,ResultSet对象中维持了一个指向当前行的指针,通过一系列的getXXX方法,可以检索当前行的各个列并显示出来。
增加操作
public void addMember(exo boy)throws Exception{
Connection con=DBUtil.getConnection();
String sql="insert into man(name,sex,age,silk)values(?,?,?,?)";//?作为占位符
PreparedStatement pre=con.prepareStatement(sql);
pre.setString(1, boy.getName());//设置每个?参数值,第一个参数表示设置参数的位置,第二个表示参数的值
pre.setString(2, boy.getSex());
pre.setInt(3, boy.getAge());
pre.setString(4, boy.getSilk());
pre.execute();
}
修改操作
public void updateMember(exo boy)throws SQLException{
Connection con=DBUtil.getConnection();
String sql="update man set name=?,sex=?,age=?,silk=? where id=?";
PreparedStatement pre=con.prepareStatement(sql);
pre.setString(1, boy.getName());
pre.setString(2, boy.getSex());
pre.setInt(3, boy.getAge());
pre.setString(4, boy.getSilk());
pre.setInt(5, boy.getId());
pre.execute();
}
删除操作
public void delMember(int id)throws SQLException{
Connection con=DBUtil.getConnection();
String sql="delete from man where id=?";
PreparedStatement pre=con.prepareStatement(sql);
pre.setInt(1,id);
pre.execute();
}
查询操作
public List<exo> query()throws Exception{
List<exo> result=new ArrayList<exo>();
Connection con =DBUtil.getConnection();
StringBuilder sb=new StringBuilder();
sb.append("select * from man");
PreparedStatement pre=con.prepareStatement(sb.toString());
ResultSet rs=pre.executeQuery();
exo boy=null;
while(rs.next()){
boy=new exo();
boy.setId(rs.getInt("id"));
boy.setName(rs.getString("name"));
boy.setSex(rs.getString("sex"));
boy.setAge(rs.getInt("age"));
boy.setSilk(rs.getString("silk"));
result.add(boy);
}
return result;
}