实战:mapper文件转sql语句

实战:mapper文件转sql语句

  • 实战:mapper文件转sql语句

实战:mapper文件转sql语句

最近看码云的项目,优秀的开源项目,有表结构sql,有说明文档,也不妨有些半开源的项目,有实体类,就没有sql文件。
咋怎?你想orm层与数据库交互,那orm的框架必然与数据库有关系。今天就做一个mybatis的mapper文件转为sql语句。

思路:
1、遍历某个文件下的所有xml文件
2、找出resultMap的字符串
3、截取含有column="user_id"的字符串
4、拼接成sql语句

实战:mapper文件转sql语句_第1张图片
第一部分,遍历某个文件夹下获取后缀为xx的文件

String path = "D://";
			File file = new File(path);
			if (file.exists()) {
				File[] files = file.listFiles();
				if (files.length == 0) {
					System.out.println("文件夹是空的!");
					return;
				} else {
					for (File file2 : files) {
						if (file2.isDirectory()) {
//							System.out.println("文件夹:" + file2.getAbsolutePath());
//							traverseFolder2(file2.getAbsolutePath());
						} else {
//							System.out.println("文件:" + file2.getAbsolutePath());
							String xml = _txtUtils.readTxtFile(file2.getAbsolutePath());
							String tableName = getXmlToTable(xml.trim());
							int a = xml.indexOf("");
							xml = xml.substring(a,b);
//							System.out.println(xml.trim());
							changeXmlToSql(xml.trim(), tableName);
							System.out.println("");
						}
					}
				}
			} else {
				System.out.println("文件不存在!");
			}

上面的代码是没完善的,如xx.contains(".xml")

第二部分,整理成字段的形式

String[] xmls = xml.split("/>");
		String[] strs = new String[xmls.length];
		for(int i = 0;i  columns = _pachongUtils.getCode(xmls[i],"a","column=\"(.+?)\"");

			if(columns.size()>0){
				String colcumn = columns.get(0);
				if(xmls[i].contains("

代码下载:http://47.98.237.162/detail/1/198

你可能感兴趣的:(java工具,mapper,mybatis,sql,xml文件转sql,xml)