本文共 1852 字,大约阅读时间需要 6 分钟。
package test.util;import java.util.Map;import java.util.regex.Matcher;import java.util.regex.Pattern;public class SqlUtils{ public static String getSavesql(String sql, Mapmap) { StringBuffer rsql = new StringBuffer(); //接口对应的sql Pattern p = Pattern.compile(rge); //编译对象 Matcher m = p.matcher(sql); //进行匹配 int index=0; int length=sql.length(); while(m.find()) { int start=m.start(); String text=m.group(); System.out.println("参数信息:"+text); //一定要先find(),然后才能group() if(index
package test.main;import java.util.HashMap;import java.util.Map;import test.util.SqlUtils;public class TestSqL { public static void main(String[] args) { String sql="insert into user(id,name,sex,phone,createDate)values(#{id},#{name},#{sex},#{phone},#{createDate})"; Mapmap = new HashMap<>(); map.put("id","202011030001"); map.put("name","来福"); map.put("sex","男"); map.put("createDate","2020-11-30"); String sql1 = SqlUtils.getSavesql(sql,map); }
参数信息:#{id}参数信息:#{name}参数信息:#{sex}参数信息:#{phone}参数信息:#{createDate}————————————————————————————————————————————————————————————最终的SQL语句:insert into user(id,name,sex,phone,createDate)values('202011030001','来福','男',null,'2020-11-30')
String sql="update user set name = #{name},sex = #{sex},phone = #{phone} where id = #{id}";Mapmap =new HashMap(); //参数Map obj =userDao.get(map); //根据传入的参数去查询结果(主要用到id参数)map=obj;//将查询出来的值,作为参数,赋值给原参数对象map.put("id","202011030002");map.put("sex","保密");//map的put方法,遇到相同的key值会被覆盖String sql1 = SqlUtils.getSavesql(sql,map);
转载地址:http://ootxi.baihongyu.com/