如何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 类中我直接用迭代器就可以得到结果了么?? 展开
<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 类中我直接用迭代器就可以得到结果了么?? 展开
3个回答
展开全部
你是使用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的项目我可以给你看看
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的项目我可以给你看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
解析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啦
对于比较小的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啦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这是用的ibatis框架吧,学习一下ibatis框架的使用吧,不需要接续xml的 直接调用tms.business.queryis_prm_dinner方法就行了
追问
这个框架是hibernate里面的么
追答
是ibatis;也是持久层的框架,和hibernate属于一类东西。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询