解析Java源码文件中所有sql操作(上)

最近做了一道题目,记录一下实现思路。

题目大概是:

目前JAVA程序操作数据库主要通过两种方式:

(1)JDBC:直接在JAVA源码中写SQL语句

(2)MyBatis:在XML中配置SQL语句或通过注解指定SQL语句

输入为一个JAVA源码文件zip包,统计出访问的数据库表名称以及操作类型(SELECT/UPDATE/DELETE), 其中插入insert操作归为UPDATE进行输出。最终将统计结果输出到一个txt文件,一行就是一个结果:

文件名  表名  操作类型(query/update/delete)

 

当时的解题思路

这主要是能够对每个文件进行解析,利用正则表达式来匹配出大概的字符串,然后再做处理。

(当时因为工作繁忙,没啥时间,所以主要花时间在解析xml上,Java有些注解类的用法还没有时间去弄)

1. 程序入口,读取zip文件

利用java.util.zip包,将指定目录下的zip文件进行解压,拿到ZipEntry实体类,就是文件对象。过滤掉一些没用或者非法的文件,比如去掉文件夹,去掉后缀不是java或xml的文件,去掉/target目录下的文件,避免重复统计。

 

2. 通过第1步,拿到需要解

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值