package com.yuexiang.govcms.xml;

import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import com.yuexiang.govcms.util.ConstantUtil;


/**
 * 初始化Mybatis property转column Map
 * 
 * @author yangtao
 *
 * @since 2016年8月22日 下午4:28:30
 */
public class CreateMybatisP2CMap {

	private static final String PATH = CreateMybatisP2CMap.class.getResource("").getPath();// 当前目录

	/**
	 * 解析mybatis MapperXML映射文件
	 *
	 * @author yangtao
	 * @since 2016年8月22日 下午5:43:07
	 *
	 */
	public static void analysisMybatisMapperXML() {
		File file = new File(PATH);
		File[] tempList = file.listFiles();
		for (int i = 0; i < tempList.length; i++) {
			String fileName = tempList[i].getName();
			if (fileName.indexOf(".xml") > 0) {
				String mapperName = fileName.replace("Mapper.xml", "");
				System.out.println("...................开始解析 " + fileName + " 文件...................");
				ConstantUtil.MYBATISP2CMAP.put(mapperName, getMapperColumnByProperty(tempList[i]));
			}
		}
	}
	

	/**
	 * Mybatis property转column
	 *
	 * @author yangtao
	 * @since 2016年8月22日 下午5:42:36
	 *
	 * @param mapperXmlFile
	 * @return
	 */
	public static Map<String, String> getMapperColumnByProperty(File mapperXmlFile) {
		try {
			Document doc = Jsoup.parse(mapperXmlFile, "utf-8");
			Elements elements = doc.select("#BaseResultMap > *");
			Map<String, String> map = new HashMap<>();
			for (Element element : elements) {
				map.put(element.attr("property"), element.attr("column"));
			}
			return map;
		} catch (IOException e) {
			e.printStackTrace();
		}
		return null;
	}

}
最近下载更多
一休哥的铲屎官  LV1 2019年3月29日
弹簧木偶  LV10 2018年3月27日
aajimi  LV2 2018年3月26日
klxqljq  LV2 2017年12月5日
oxtaw  LV1 2017年5月25日
best2018  LV46 2016年10月21日
最近浏览更多
李亮  LV19 2023年3月6日
NHealers  LV5 2023年2月1日
zy471962923  LV1 2021年3月22日
newhaijun  LV15 2020年12月2日
青春的代价 2020年9月24日
暂无贡献等级
kinggode  LV14 2020年7月28日
lsq54365  LV14 2020年6月5日
Starts  LV2 2020年4月26日
Dot7350  LV3 2020年4月17日
huxianlong 2020年2月20日
暂无贡献等级
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友