public List getObject(String sql, Object[] object) { //sql执行语句,object是你sql语句里面的参数
List list = new ArrayList()
Connection con = null
PreparedStatement pre = null
ResultSet rs = null
try{
con = C3P0Util.getInstance().getConnection()//这是你获得数据库连接,你把这里改成调用你自己写的jdbc方法
pre = con.prepareStatement(sql)//执行sql语句
if(object!=null){
for(int i=0i<object.lengthi++){
pre.setObject(i+1, object[i])//给sql里面的参数进行赋值
}
}
rs = pre.executeQuery()
while(rs.next()){
Users u = new User()
你存入到list里面的是以个对象,所以打印出来的是LDF@1c6f579 这种形式的内存地址,而rs.getString(1)是结果集里的一个数据(sql语句查询对应的字段)当然可以 。
System.out.println(it.next())这句里面的it.next() 是一个对象 你要的是对象里的属性 你说怎么能打印出来。
可以这样写LDF ldf =(LDF)it.next() system.out.print(ldf.getA()+ldf.getB()+ldf.getC())不知道这样写你能不能明白
最简单的方法建一个类,里边定义一个静态的list成员变量,每次去list时检查,如果list为null就数据库查询,如果list已经存在,就直接返回存在的list就行了,高级点的,加个时间比较,超过一定的时间间隔获取list就去数据库查询后获得,如果没有超时的就直接返回保存的list。如果有需要可以自己写一个缓存管理器,用来把需要的
数据缓存
在内存中,并且在根据自定义的时间间隔或事件触发自动更新缓存。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)