sql语句放到外部xml文件里,读取操作
来源:互联网 发布:渠道店面管理专员知乎 编辑:程序博客网 时间:2024/06/05 04:06
/*** Project Name:testDownload* File Name:ReadXML.java* Package Name:com.iflytek.xml* Date:2016-3-31上午08:37:47* Copyright (c) 2016, syzhao@iflytek.com All Rights Reserved.**/package com.iflytek.xml;import java.util.HashMap;import java.util.List;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.io.SAXReader;public class ReadXML{ private static ReadXML xml = new ReadXML(); /** * getXml:(读取xml文件。获取document树). <br/> * @author syzhao * @param xmlPath xml数字 * @return Document * @since JDK 1.6 */ private static Document getXml(String xmlPath) { Document document = null; SAXReader reader = new SAXReader(); try { document = reader.read(xml.getClass().getClassLoader().getResourceAsStream(xmlPath)); } catch (DocumentException e) { System.out.println("获取xml " + xmlPath + " 文件失败!"); e.printStackTrace(); } return document; } /** * getSql:(获取xml中的sql语句). <br/> * @author syzhao * @param xmlPath xml路径 * @param xpathExpression 元素路径 * @return key:sql * @since JDK 1.6 */ public static HashMap<String, String> getSql(String xmlPath, String xpathExpression) { HashMap<String, String> map = new HashMap<String, String>(); List<Object> list = getXml(xmlPath).selectNodes(xpathExpression); if (list != null && !list.isEmpty()) { for (Object object : list) { Element element = (Element)object; String sql = element.getTextTrim(); String key = element.attributeValue("key").trim(); map.put(key, sql); } } return map; }}
xml里具体内容:
<?xml version="1.0" encoding="UTF-8"?><template><!-- 查询语句 --><sqltemplate key="selectSql"><![CDATA[select * from emp]]></sqltemplate><!-- 更新语句 --><sqltemplate key="updateSql"><![CDATA[update emp set ename='zhangsan']]></sqltemplate><!-- 删除语句 --><sqltemplate key="deleteSql"><![CDATA[delete from emp]]></sqltemplate></template>
xml存放的地方及名称:
测试:
/*** Project Name:testDownload* File Name:Mian.java* Package Name:com.iflytek.xml* Date:2016-3-31上午09:14:26* Copyright (c) 2016, syzhao@iflytek.com All Rights Reserved.**/package com.iflytek.xml;import java.util.HashMap;public class Mian{ /** * main:(这里用一句话描述这个方法的作用). <br/> * @author syzhao * @param args * @since JDK 1.6 */ public static void main(String[] args) { HashMap<String, String> map = ReadXML.getSql("sqlxml/sqlxml.xml", "template/sqltemplate"); System.out.println("map size :" + map.size()); for (String key : map.keySet()) { System.out.println("key:" + key); System.out.println("value:" + map.get(key)); System.out.println("-------------------------分割线----------------------"); } }}
结果:
该代码用到了dom4j,,如果你测试的时候,报java.lang.ClassNotFoundException: org.jaxen.JaxenException,请把jaxen.jar 引入项目内,即可。
sql语句放到外部xml文件里,有利于根据需求动态修改。
文件最好在系统启动的时候就加载好,一般都是这么用的,,也就是缓存机制,,,,
0 0
- sql语句放到外部xml文件里,读取操作
- SQL存储过程参数内容通过XML格式传送,把所有SQL语句操作放到一个存储过程里
- 把查询语句放到XML文件中
- flex操作外部xml文件
- Sql 读取xml 文件
- Flex中读取外部XML文件
- Flex 动态读取外部xml文件
- Flex 动态读取外部xml文件
- flex读取外部XML文件方式
- flex读取外部XML文件方式
- flex读取外部XML文件方式
- SQL语句里连接其它服务器上的数据库(通过TCP/IP),并操作和读取?
- C++外部文件读取相关操作
- C#读取操作Xml文件
- .NET操作XML文件---[读取]
- rapidxml读取xml文件操作
- XML文件读取、创建、操作
- Android xml文件里读取string array
- iOS UIWebView 通过 cookie 完成自动登录验证
- MATLAB颜色的使用(转)
- Linux下安装Tomcat
- Oracle redo log
- hadoop-1.2.1伪分布式安装
- sql语句放到外部xml文件里,读取操作
- 网络相关系列之三:通过GET和POST方法发送数据
- 代码编译过程
- 一张图看懂JavaScript中数组的迭代方法:forEach、map、filter、reduce、every、some
- 如何解决return没有输出的问题
- 关于sizeof(struct student)的问题
- 父div随着子div的高度改变而改变
- iphone
- HadoopJob监控