语句:String sql = "select a,b,c, inc(d) ,add(e,decode('x<10', 1,0)) from dual group by a,b,c "; 解析后如何获取list[ a,b,c, inc(d) ,add(e,decode('x<10', 1,0))]?
原提问者GitHub用户dostar
在MyBatis中,我们可以使用mapper文件中的标签来执行查询操作,并返回一个结果列表。如果您想获取这个结果列表,可以通过以下方式来实现:
1.使用MyBatis的selectList方法:在您的Java代码中,可以使用MyBatis提供的selectList方法来执行查询操作,并获取结果列表。
SQLStatementParser parser = new MySqlStatementParser(sql); SQLSelectStatement ss = (SQLSelectStatement) parser.parseSelect(); ss.getSelect().getQueryBlock().getSelectList().stream().forEach(System.out::println);
这个能把你给的sql解析出来, 如果sql中有子查询,list中也会包含所有子查询的select字段, 如果只想获取最外层的字段, 现在还在思考,
原回答者GitHub用户LuVx21
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。