java数据库xml
① java和xml什么关系
xml(Extensible Markup Language)中文意思就是可扩展标记语言,用于存储数据和描述数据,不同的平台可以同过xml文件建立起联系。
在java开发中,许多的配置文件,都是xml的,比如web.xml,struts-config.xml,ibatis的sqlMapConfig.xml等。
XML作为全球通用的结构化语言,越来越受人们青睐,各种开发平台(比如Microsoft Studio系列、Oracle系列、Inprise Borland系列等)也都把支持XML开发作为宣传口号之一 。由于笔者所从事的电子政务开发较早的引入了XML,所以尝到了许多甜头,在许多项目中利用XML数据交换信息,省去了许多麻烦事,不用制定繁锁的数据格式,利用XML数据易于表达,也利于一线开发者跟踪调试。
② xml和java有什么联系
那你首先要明白xml是什么,xml(Extensible Markup Language)中文意思就是可扩展标记语言,用于存储数据和描述数据,不同的平台可以同过xml文件建立起联系。在java开发中,许多的配置文件,都是xml的,比如web.xml,struts-config.xml,ibatis的sqlMapConfig.xml等等。。。
1.网上找Castor或者jaxb的包,看下例子就行了
这包是完成对象到xml的一中映射,生产xml文件,或者xml解析成对象
2.自己定义一个映射规则,自己写出处理程序完成,用dom4j这个包不错
具体来说,就是数据库读取数据封装成一个个对象或者一个集合,完成数据到对象的关系映射,
然后对象转化到xml,完成对象到xml的映射
④ JAVA中如何通过XML来配置数据库的连接参数
<?xmlversion="1.0"encoding="UTF-8"?>
<config>
<db-infoid="01">
<!——jdbc链接Oracle数据库——>
<orcldriver-name>oracle.jdbc.driver.OracleDriver</orcldriver-name>
<orclurl>jdbc:oracle:thin:@111.111.1.11:1521/orcl</orclurl>
<orclusername>201</orclusername>
<orclpassword>300</orclpassword>
<orclmandt>006</orclmandt>
<orcldays>10</orcldays><!--查几天前到现在的数据-->
<orclpasesize>10</orclpasesize><!--每页显示数-->
<orclrefreshTime>6</orclrefreshTime><!--翻页间隔-->
<orclpageRefresh>10</orclpageRefresh><!--页面刷新-->
</db-info>
<!——jdbc链接SQLserver数据库——>
<db-infoid="00">
<driver-name>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-name>
<url>jdbc:sqlserver://222.222.0.222:1433;DatabaseName=1111</url>
<username>b</username>
<password>b</password>
</db-info>
</config>
⑤ java怎么把解析的xml数据添加到数据库中
不说废话直接上代码,下面是要读取的xml文件:
<?xmlversion="1.0"encoding="UTF-8"?>
<PERSON>
<NAME>a1</NAME>
<ADDRESS>b1</ADDRESS>
<TEL>c1</TEL>
<FAX>d1</FAX>
<EMAIL>e1</EMAIL>
</PERSON>
下面是读取xml文件的java代码,在数据库中建一张和xml文件字段对应的表,将读取的数据插入到表中。如果数据插入不会,欢迎继续追问:
importjava.io.File;
importjavax.xml.parsers.DocumentBuilder;
importjavax.xml.parsers.DocumentBuilderFactory;
importorg.w3c.dom.Document;
importorg.w3c.dom.Element;
importorg.w3c.dom.NodeList;
publicclassTest{
publicstaticvoidmain(String[]args)throwsException{
System.out.println("22");
DocumentBuilderFactorydbf=DocumentBuilderFactory.newInstance();
DocumentBuilderdb=dbf.newDocumentBuilder();
Documentdocument=db.parse(newFile("candidate.xml"));
NodeListlist=document.getElementsByTagName("PERSON");
for(inti=0;i<list.getLength();i++)
{
Elementelement=(Element)list.item(i);
Stringcontent=element.getElementsByTagName("NAME").item(0).getFirstChild().getNodeValue();
content=element.getElementsByTagName("ADDRESS").item(0).getFirstChild().getNodeValue();
content=element.getElementsByTagName("TEL").item(0).getFirstChild().getNodeValue();
content=element.getElementsByTagName("FAX").item(0).getFirstChild().getNodeValue();
content=element.getElementsByTagName("EMAIL").item(0).getFirstChild().getNodeValue();
}
}
}
⑥ java可以用xml存储数据吗
可以到是可以
但是如果存储的是正儿八经的数据的话
建议你用ACCESS
XML用来做配置文件倒是蛮合适的
⑦ java读取oracle数据库里面的数据生成xml文件,生成的xml文件出现乱码怎么解决
跟踪问题所在:
1、查询一下数据库,判断在数据库中的时候,是否是已经存在了乱码。
2、在读取到Java的时候,你用SystemOut输出一下,判断这个时候,是否是乱码。
3、写入到xml文件的时候,XML中是否是乱码。
如果是1种情况出现乱码,则是写入数据库的时候出现乱码,需要更改写入程序的代码。
如果是2种情况出现乱码,则是读取Oracle的字符集出现错误,设置读取的字符集。
如果是3种情况出现乱码,则是在Java类中写入的时候,设置字符集,查看数据库字符集,设置为UTF-8、或者是GBK字符集。
希望对你有帮助。
⑧ java中xml有什么作用,用在什么地方
java中xml一般是用来当做配置文件的,比方说struts的struts.xml、spring的application.xml,这里面记录的一般是配置信息,比方说servlet配置,映射注入配置等等都可以用xml来配置,当然配置也可以写入数据库,如果配置和程序的业务无关,也和系统配置无关,仅仅和系统构架有关,那就可以把配置写入xml里面来存储这些配置。
⑨ 通过java怎么配置xml文件
JAVA与XML文件,可以说是软件开发的“黄金搭档”,而如何使用JAVA完成对XML文件的读取,是我们首先要解决的问题。
一、XML文件
这个示例文件包括了用来打开ORACLE数据库的各种参数
<?xml version="1.0" encoding="UTF-8"?>
<dbmsg>
<dbinfo>
<drivername>oracle.jdbc.driver.OracleDriver</drivername>
<sConnStr>jdbc:oracle:thin:@11.88.225.80:1521:VOUCHERDB</sConnStr>
<username>SYS AS SYSDBA</username>
<password>voucherdb</password>
</dbinfo>
</dbmsg>
二、编写类名为ReadXml的类,用于解析XML文件
我们要在应用程序中打开数据库,就必须完成对该文件中drivername、sConnStr、username、password的读取,通过查找有关资料,笔者编制了以下程序,用于读取文件名为filename的XML文件。
package voucher.basic;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
public class ReadXml {
private String drivername;
private String sConnStr;
private String username;
private String password;
public String getDrivername() {
return drivername;
}
public String getSConnStr() {
return sConnStr;
}
public String getUsername() {
return username;
}
public String getPassword() {
return password;
}
public void setDrivername(String drivername) {
this.drivername = drivername;
}
public void setSConnStr(String connStr) {
sConnStr = connStr;
}
public void setUsername(String username) {
this.username = username;
}
public void setPassword(String password) {
this.password = password;
}
public ReadXml(String fileName){
DocumentBuilderFactory domfac=DocumentBuilderFactory.newInstance();
try {
DocumentBuilder dombuilder=domfac.newDocumentBuilder();
InputStream is=new FileInputStream(fileName);
Document doc=dombuilder.parse(is);
Element root=doc.getDocumentElement();
NodeList dbinfo=root.getChildNodes();
if(dbinfo!=null){
for(int i=0;i<dbinfo.getLength();i++){
Node db=dbinfo.item(i);
for(Node node=db.getFirstChild();node!=null;node=node.getNextSibling()){
if(node.getNodeType()==Node.ELEMENT_NODE){
if(node.getNodeName().equals("drivername")){
setDrivername(node.getFirstChild().getNodeValue());
}
if(node.getNodeName().equals("sConnStr")){
setSConnStr(node.getFirstChild().getNodeValue());
}
if(node.getNodeName().equals("username")){
setUsername(node.getFirstChild().getNodeValue());
}
if(node.getNodeName().equals("password")){
setPassword(node.getFirstChild().getNodeValue());
}
}
}
}
}
} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
这个以ReadXml命名的类,使用了参数为文件名的构造方法,用户只要将配置文件我名称传递给该方法,就可以完成对XML文件的解析,进而完成对相应参数数的读取。三、如何获取XML文件全路径并读取配置参数
获取XML文件全路径的方法有两个,一是在servlet中获取,二是在单独的JAVA类中获取。
1.在servlet中获取XML文件的全路径并读取配置参数
程序片段String dirPath = getServletContext().getRealPath( "/WEB-INF");
String fileName = dirPath + "/conn.xml";
ReadXml xm = new ReadXml(fileName);
String DriverName = xm.getDrivername();
String connStr = xm.getSConnStr();
String user = xm.getUsername();
String pas = xm.getPassword();
将这段程序添加到servlet中dopost()之后即可完成参数的读取
2.在单独的JAVA类中获取全路径并读取配置参数
程序片段String dirpath = System.getProperty("user.dir");
String xmlFile = dirpath + "/WebRoot/WEB-INF/conn.xml";
ReadXml rdxml = new ReadXml(xmlFile);
String driverName = rdxml.getDrivername();
String sConnStr = rdxml.getSConnStr();
String userName = rdxml.getUsername();
String passWord = rdxml.getPassword();注:配置文件conn.xml保存在webroot/WEB-INF目录中。