2.而对数据库表的操作(增删改查),则可以说是对javabean的增删改查操作,所以是依据着Javabean的方法来处理的,比如对userbean的数据分页显示出来
一、如下图,为resource_time表内容
二、生成的resourceTimeBean
三、分页数据的resourceTimeBeanBO操作
public class resourceTimeBeanBO {
private Connection conn = null;
private ResultSet ret = null;
private Statement sm = null;
private int pagesize = 10;
private int rowcount = 0;
/**
* resourceTime表数据分页
* @param pagenow
* @return
*/
public ArrayList resourceTimePage(int pagenow){
ArrayList al = new ArrayList();
try {
conn = ConnMysql.Conn_Mysql();
sm = conn.createStatement();
ret = sm.executeQuery("select * from resource_time limit "+(pagenow-1)*pagesize+","+pagesize);
while(ret.next()){
resourceTimeBean rtb = new resourceTimeBean();
rtb.setType(ret.getString(1));
rtb.setDuration(ret.getInt(2));
rtb.setPageNo(ret.getInt(3));
al.add(rtb);
}
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}finally{
this.close();
}
return al;
}
public void close(){
try {
if(conn!=null){
//等于null,更快的释放空间
conn.close();
conn = null;
}
if(sm!=null){
sm.close();
sm = null;
}
if(ret!=null){
ret.close();
ret = null;
}
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
}
}
四、使用,在jsp中使用
说明下:
1.为了简单说明,直接在jsp中调用了model,mvc模型正确应该在servlet中调用model得到数据再传给jsp来显示
2.可以看到bean中用arraylist来存数据了,这是为什么呢?其实表中每一行数据就等于用了一次bean来存放数据。
(1)如果返回ResultSet,在使用ResultSet时,是不能关闭与改ResultSet相关联的数据库连接等资源,造成资源浪费
(2)如果返回ResultSet,只能使用geyInt(index)、getString(index)来取数据,代码可读性不好
所以把ResultSet的结果存放ArrayList中。