Mybatis反射修改SQL值 某一些情况下我们需要动态的改变Mybtis的执行的sql语句,有两种方法:1)使用拦截器,2)使用反射,拦截器的比较简单点,这里使用反射实现一次,有一点小坑,记录一下: 特别说明:环境配置就不列出来了,下面的所有操作是假设spring已经整合好了mybatis的基础上的.具体的代码连接见文章结尾: 重点在于org.apache.ibatis.builder.StaticSqlSource.getBoundSql(Object) @Override public B
update dic_purchase set state =0 where purchase_number in (select tmp.* from (select purchase_number from dic_purchase where DATEDIFF(latest_time,SYSDATE())<0)tmp) 以查询的条件作为修改的数据 注:在mybatis中不能使用">","<"等符号,需要使用<>进行代替操作
最近在看python,遇到个简单的问题:删除列表中指定的重复元素,发现一些实用并且有趣的东西. 1.错误示范 alist = [1,1,2,2,3,3,2,2,1,1] for i in alist: if i ==1: alist.remove(1) print(alist) 运行结果:[2, 2, 3, 3, 2, 2, 1, 1] 错误原因:删除列表元素,导致列表内容改变,部分元素位置前移:当继续进行for循环时,索引继续加一,导致跳过一个元素. 本例中,第二个"1"和第四个&q
使用mybats经常要用到批量修改或者删除,贴出批量修改的代码.如果是批量删除,可将update换成delete. <update id="changestatus" parameterType="String"> update apply_for_maintenance set status= 1 where afmid in <foreach item="afmid" index=&
最近在搞一个电商系统中由于业务需求,需要在插入一条产品信息后返回产品Id,刚开始遇到一些坑,这里做下笔记,以防今后忘记. 类似下面这段代码一样获取插入后的主键 User user = new User(); user.setUserName("chenzhou"); user.setPassword("xxxx"); user.setComment("测试插入数据返回主键功能"); System.out.println("插入前主键为: