每天晚上12点定时从数据库查询最近一个月数据写入到xml文件中,以后查询时直接在xml中查询显示数据!
快来高手救急了!!!!!!
快来高手救急了!!!!!!
解决方案 »
- mapxtreme for java加载地图报错java.io.IOException: unknown protocol:)虽然知道是路径错误,但是找不出来
- 请教学习Hibernate的问题?
- 问个弱弱的问题,我是在什么平台上开发啊
- 求思路--如何取得新增的id
- 关于EJB---SessionBean的方法问题
- struts+hibernate+spring中的一个问题(给分)
- hibernate load()方法?
- 请高人指点,小弟有个关于Weblogic 问题(急啊)
- 用什么替代sysdate?
- 请教如何计算两个日期之间相隔的月份(不是天数)?谢谢!
- 合并同一列的相同项
- spilt 问题 ,急急急
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.List;import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;
public class BaseDao {
private Connection conn;
private Statement stam;
private ResultSet rs;
private static BaseDao basedao=null;
private BaseDao(){}
public static BaseDao getBaseDao(){
if(basedao==null){
basedao=new BaseDao();
}
return basedao;
}
public Connection getConnection() throws Exception{
DbUtils.loadDriver("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost/student","root","admin");
return conn;
}
public void getClose()throws Exception{
if(rs!=null){
rs.close();
rs=null;
}
if(stam!=null){
stam.close();
stam=null;
}
if(conn!=null){
conn.close();
conn=null;
}
}
public ResultSet queryObject(String sql) throws Exception{
conn=this.getConnection();
Statement stam=conn.createStatement();
rs=stam.executeQuery(sql);
return rs;
}
public List query(String sql,Class c) throws Exception{
conn=this.getConnection();
QueryRunner qr=new QueryRunner();
List list=(List)qr.query(conn,sql,new BeanListHandler(c));
DbUtils.close(conn);
return list;
}
public boolean updateObject(String sql) throws Exception{
conn=this.getConnection();
stam=conn.createStatement();
int rows=stam.executeUpdate(sql);
this.getClose();
return rows>0?true:false;
}}
package com.utils;import java.io.FileOutputStream;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;import org.jdom.Document;
import org.jdom.Element;
import org.jdom.output.XMLOutputter;import com.comm.BaseDao;public class CreateXml {
//一个生成相应的xml文档方法
public void createXml(String sql,String rootname,String targetname,String path) throws Exception{
ResultSet rs=BaseDao.getBaseDao().queryObject(sql);
Document document=new Document(new Element(rootname));
ResultSetMetaData rsmd=rs.getMetaData();
int rowNumber=rsmd.getColumnCount();
while(rs.next()){
Element element0=new Element(targetname);
document.getRootElement().addContent(element0);
for(int i=1;i<=rowNumber;i++){
String data=new String(rs.getString(i).getBytes("ISO-8859-1"),"gbk");
Element element=new Element(rsmd.getColumnName(i)).setText(data);
element0.addContent(element);
}
}
BaseDao.getBaseDao().getClose();
XMLOutputter xmlout=new XMLOutputter();
xmlout.output(document,new FileOutputStream(path));
}}//哈哈!我也是新学到的,我一个朋友写的!
可以,你看一下关于xpath的相关资料吧