本示例主要功能是读取XML文件的表名,和字段信息,使用MyBatis进行对数据库的读写操作。
/*加载xml文件的类,采用dom4j的方式*/
public class ConfUtil {
private static Log log = LogFactory.getLog(ConfUtil.class);
private static final String confFile = ConfUtil.class.getClassLoader()
.getResource("conf/zdry.xml").toString().substring(5);
/*Map<String, List<String>中Key为表名,value为字段名,因为Map中Key不能重复,所以需将字段名加到list中,取出后再进行处理*/
public static Map<String, List<String>> getConfigMap() { Map<String, List<String>> column = new HashMap<String, List<String>>(); Map<String, String> map = new HashMap<String,String>(); try { //载入xml文件 SAXReader saxReader = new SAXReader(); saxReader.setIgnoreComments(true); Document document = saxReader.read(new File(confFile)); //遍历table节点 Iterator<Element> itTable = document.getRootElement().elementIterator("table"); while(itTable.hasNext()){ Element eleTable = itTable.next(); String tabName = eleTable.attributeValue("name"); // 遍历column节点。 Iterator<Element> itColumn = eleTable.elementIterator("column"); ArrayList<String> al = new ArrayList<String>(); while (itColumn.hasNext()) { Element eleQualifier = itColumn.next(); String quaName = eleQualifier.elementTextTrim("name"); //将字段加到list al.add(quaName); } column.put(tabName, al);//添加Map } } catch (Exception e) { log.info("没找到zdry.xml 文件!"); } return column; }
所要读取的XML文件为ZDRY.xml
<?xml version="1.0" encoding="UTF-8"?> <tables> <table name="V_LC_WA_DS_ICP" updatetime="UpdateTime" description="互联网信息"> <!-- 地址 --> <column> <name>Address</name> </column> <column> <name>DomainName</name> </column> <column> <name>Tel</name> </column> <column> <name>Sex</name> </column> <column> <name>no</name> </column> <column> <name>Sex</name> </column> </table> <table name="sdfsd" updatetime="UpdateTime" description="互联网信息"> <!-- 地址 --> <column> <name>1</name> </column> <column> <name>2</name> </column> <column> <name>3</name> </column> <column> <name>4</name> </column> <column> <name>5</name> </column> <column> <name>6</name> </column> </table> </tables>
调用getConfigMap( ),将返回的Map进行处理,对每一个Key和value添加到一个Map中,要插入的表名只有6个字段
public void doZdryJob(String start,String end){ Map<String, List<String>> ma = ConfUtil.getConfigMap(); Set set = ma.keySet();//获取Map中所有的Key Iterator iter = set.iterator(); while (iter.hasNext()) {//是否存在下一个元素 Map<String, String> map = new HashMap<String,String>(); ma.clear(); String key = (String) iter.next(); map.put("tableName", key); map.put("column1", ma.get(key).get(0)); map.put("column2", ma.get(key).get(1)); map.put("column3", ma.get(key).get(2)); map.put("column4", ma.get(key).get(3)); map.put("column5", ma.get(key).get(4)); map.put("column6", ma.get(key).get(5)); service.updateZdry(map); } }
相关推荐
java读写xml文件 java读写xml文件 java读写xml文件 java读写xml文件 java读写xml文件 java读写xml文件
用java读取xml文件的四种方法
利用Java下的IO读取或写入xml及word,txt文件,且能有效去除乱码(很适用,且和POI组建比,少占了很多内存),这是我根据网上很多不同的版本,整合而出的一种最易最好的IO读写文件代码;
通过不同的库方法读取修改xml文件。通过java实现。代码易懂
读取XML文件的四种方法,详细介绍了dom,jdom,dom4j,sax
js 操作xml 文件 读取xml文件 js 操作xml 文件 读取xml文件
文档中有代码案例,详细讲解了使用java读取xml,并附带有关于xml的dtd讲解,里面包含详细的文档和代码案例。和读取xml所需的jar。
java 读写xml文件操作, 简单易懂
java读取xml文件 ,程序自带jar包在mylib下,加入工程即可,工程导入可用,更具自己需要读取xml文件生成所需文件。
java读写xml文件的例子,供参考
java_java写XML文件和读取XML文件
现在的开发很多很多用到xml文件,java写XML文件和读取XML文件
java xml.java操作XML文档,简单易用,快速生成
该资源包含了java四种方式读取和写入xml文件的代码
xml文件导入到mysql数据库中,包括文件:ConnectionUtils.java,InsertDT.java,db_mysql.properties,test01.xml,需要的jar包dom4j-1.6.1.jar,mysql-connection-java-3.1.1.3-bin.jar,jaxen-1.1-beta-7.jar
使用Java读取XML配置文件
java递归读取xml文件
java从xml中读入数据并存入到sqlserver2005数据库中