JAVA在mybatis运行sql脚本--sql注入

应用场景:
(1)需要前端直接录入sql脚本并执行
(2)后端需要运行大量逻辑处理后的固定sql

下面开始:
(1)mapper层方法定义

 <select id="getthisresult" parameterType="String" resultType="java.util.LinkedHashMap">
    	${script}
 </select>

(2)dao层接口引用

public Map<String, Object> getthisresult(@Param(value="script") String script);

这里查询结果仅一条数据,返回Map<String, Object>类型,实际应用中要根据sql执行的结果设定返回类型,例如:
一个多行数据应用 List<Map<String, Object>>
多结果集应用 List<List<Map<String, Object>>>
(3)service结果应用

String S = " select GetReportType from G_company where id = ' "+compid + " ' ";
Map<String, Object> Sresult = indexDao.getthisresult(S);
System.err.println("ReportType属性的值"+Sresult.get("ReportType").toString());
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值