如何java类中如何取得在xml文件查询数据库的结果 10

例如在XML文件中<sqlMapnamespace="tms.business.queryis_prm_dinner"/><selectid="queryis_prm_d... 例如在XML文件中

<sqlMap namespace="tms.business.queryis_prm_dinner" />
<select id="queryis_prm_dinner" resultClass="java.util.HashMap">
select is_prm_dinner as "是否pRM上的增值产品" from dmcode.dmcode_zz_dinner_service ;
</select>
</sqMap
我自己有点明白了这里的id 指的是 JSP页面所提交的action名字,并在Action类中进行集合的get set封装,使用的struts1, 在Action 类中我直接用迭代器就可以得到结果了么??
展开
 我来答
qiansanqiang2
2012-03-03
知道答主
回答量:6
采纳率:0%
帮助的人:2.9万
展开全部
你是使用JNDI获得数据源对象的吗?如果是:
1,、配置context.xml文件
<Context>
<Resource name="jdbc/news"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="jbit"
password="dbqn"'
driverClassName="Oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:daataName"
</Context>
以上用的是Oracle数据库的驱动和url
你可以换成SQL的
2、配置web.xml文件
<resource-ref>
<res-auth>Container</res-auth>
<res-type>javax.sql.DataSource</res-type>
<res-ref-name>jdbc/news</res-ref-name>
</resource-ref>
3、添加数据库驱动
4、在javaBean中编写代码,使用lookup()方法获得数据源对象
public class BaseDAO {

private static Connection conn = null;

public static Connection getConnection() {
try {
Context context = new InitialContext();
DataSource ds = (DataSource) context
.lookup("java:comp/env/jdbc/news");
conn = ds.getConnection();
} catch (Exception e) {
e.printStackTrace();

}
return conn;
}
}
注:lookup("java:comp/env/jdbc/news");
中的参数"java:comp/env/"+数据源名称的形式

如果你要的话我正好有这Struts2的项目我可以给你看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yxl_star
2012-02-27 · 超过18用户采纳过TA的回答
知道答主
回答量:73
采纳率:0%
帮助的人:33万
展开全部
解析xml就可以了,给你写个例子,自己看吧
对于比较小的xml文件,用dom比较快

  package com.test;

  import java.io.*;
  import java.util.*;
  import org.w3c.dom.*;
  import javax.xml.parsers.*;

  public class MyXMLReader{

  public static void main(String arge[]){
  long lasting =System.currentTimeMillis();
  try{
   File f=new File("data_10k.xml");
   DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
   DocumentBuilder builder=factory.newDocumentBuilder();
   Document doc = builder.parse(f);
   NodeList nl = doc.getElementsByTagName("VALUE");
   for (int i=0;i<nl.getLength();i++){
    System.out.print("车牌号码:" + doc.getElementsByTagName("NO").item(i).getFirstChild().getNodeValue());
    System.out.println(" 车主地址:" + doc.getElementsByTagName("ADDR").item(i).getFirstChild().getNodeValue());
  }
  }catch(Exception e){
   e.printStackTrace();
  }
  System.out.println("运行时间:"+(System.currentTimeMillis() - lasting)+" 毫秒");
  }
  }
然后用查出来的语句查询数据库就ok啦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
0午夜流浪0
2012-02-28 · TA获得超过441个赞
知道小有建树答主
回答量:376
采纳率:0%
帮助的人:248万
展开全部
你这是用的ibatis框架吧,学习一下ibatis框架的使用吧,不需要接续xml的 直接调用tms.business.queryis_prm_dinner方法就行了
追问
这个框架是hibernate里面的么
追答
是ibatis;也是持久层的框架,和hibernate属于一类东西。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式