最近在写毕设,用到MyBatis,发现里面有个动态SQL的XML判定
但是,这里不是关于MyBatis后台实现的,呵呵,那个有机会再去看看后台实现
翻出去年实习写的一个半成品
需求:
有一系列从Oracle中导出多个txt数据文件,但是新的项目需要的是这几张表中某几个字段的组合,我写了个SQL语句生成器,半成品一直放着没时间完善。即使用XML进行配置,根据配置信息提取对应项的对应值,并过滤,最后组成插入新表的SQL语句
过滤这个环节用到了在XML中配置布尔表达式
例如:[这个是我当时定义的SW代表startsWith EW代表endWith EQ代表equals]
因为数据量是十分大的
我实现的思想是
1.根据配置文件信息生成布尔表达式组合
2.写一个解析判定组合true/false的算法
3.一个组合字符串对应一个布尔值
在文件输入时,根据判定拿到每个配置项的true/false
找到这种组合下是否通过过滤
通过,数据放入,否则,数据丢弃
首先,生成布尔情况组合
需求:输入XML中配置布尔判定的个数
输出:布尔组合
例如,输入2
输出 00
01
10
11
实现思想,
循环整数[0-pow(2,i)) 左闭右开 i为个数,例如输入2,有两个布尔
则循环 0 1 2 3
四个数的二进制组合刚好对应
00
01
10
11
以下是代码:
好了
生成各种组合之后,我们接下来需要写一个计算布尔表达式最终结果的算法
下一篇整理出来
分享到:
相关推荐
手把手教你通过java解析xml(csdn)————程序
xml实用技术教程——顾兵,里面的内容详尽,简单易懂,希望有所帮助!!!
学习xml的入门宝典, 也是学习其他语言的一个重要基础!
XML解析器Xerces-J-bin.2.9.1
adroid解析XML三种方式——源码分析,DOM,SAX,Pull,
oepncv——python 训练生成vsc和xml详细步骤(csdn)————程序
小巧实用的c++ xml解析工具类——tinyxml,非常好用
xml资源xml资源xml资源xml资源xml资源xml资源xml资源xml资源xml资源xml资源xml资源xml资源xml资源xml资源xml资源xml资源xml资源xml资源xml资源
动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件...
简单的xml留言簿——xml C# 代码完整 界面完整
xml入门小项目——通讯录系统 系统特点: 1、系统主程序入口MainProgram.java 2、实现通讯录中联系人的增删改查功能,联系人数据保存在xml文档中。系统xml文档通过dom4j技术创建和解析。 3、涉及JavaSE中的集合、...
C# XML入门经典——C#编程人员必备的XML技能---C# XML入门经典——C#编程人员必备的XML技能
XML快速入门,三大巨头之一韦斯利著作,对XML学习者有着很大帮助。
根据固定的XML模版,将数据库数据写入XML模板中,并生成新的XML文件(生成的格式是表头信息一条,表体信息若干条)
JAVA 解析XML和生成XML文档源码。比较全 1.DOM生成和解析XML文档 2.SAX生成和解析XML文档 3.DOM4J生成和解析XML文档 4.JDOM生成和解析XML
C# XML入门经典——C#编程人员必备的XML技能
该软件可以浏览一个文件夹里面的文件。并且生成一个可以自己定义的xml文件,本软件续上一个xml生成器的功能,根据用户要求,实现名称的升序排列。
XML解析、XML生成工具,灵活好用的XML解析器、封装接口简单易用
java 通过模板生成 xml,发送报文
Eclipse中成功测试的Project 博文链接:https://shuanggeshi.iteye.com/blog/838087