IDEA 2018 创建springboot工程后,如果你打开一个.sql文件,或者一个mybatis的mapper.xml文件,会提示: No data source are configured to run this SQL and provide advanced code assistance. 不要觉得这个很烦,我个人觉得这个工具提供了这么强大的能提高你编码效率的功能给你,不用白不用~ 到底哪里提升效率呢?看下面几个操作对比: 没有配置DataSource前的操作没有智能输入提醒,手…
掌握MyBatis中动态SQL元素的使用 if choose(when,otherwise) trim where set foreach <SQL>和<include> 在应用中我们经常会做一些动态的拼接条件,但是如果是JDBC我们可以用程序拼接SQL语句,如果MyBatis,我们可以使用动态SQL语句.例如按照员工姓名和工资来搜索员工信息,如果如果姓名和工资的检索值为空,则忽略这个检索条件.一般来说,我们都会用where 1=1类似这种写法来实现,但是MyBatis就需要动态语…
项目用的 Mybatis,今天改一个需求,落地实现是批量更新,且只需要根据主键(id)来更新一个字段(name). 于是,没有犹豫,像下面这样设计了数据结构: 既然是批量更新,那外层肯定是 List List 中每个元素,只包含 id & name,于是,选择了用 org.apache.commons.lang3.tuple.Pair 来封装数据(就是不想自己再写一个 DO 或者 VO 或者 MO) 最终的数据结构是:List<Pair<Integer, String>>…
先看解决方案,其他的都是问题的出处 解决方案:if中使用 _parameter,#{value}不变 <if test="_parameter!='' and _parameter!=null"> join scm_product p on pt.ProductTypeID=p.ProductTypeID where (p.ProductNameCN like concat('%',#{value},'%') or p.ProductNameEN like concat('…