springboot实现动态sql有俩中方式
1.是和ssm一样配置xml但是我觉得用了springboot就必要写什么配置文件了
2.是写一个内部类使用@SelectProvider这个注解关联内部类具体代码如下:
//bug的模糊查询(动态sql) @SelectProvider(type = Sys_BugDynamic.class,method = "selectBySys_BugDynamic") public List<Sys_Bug> selectSys_BugDynamic(Sys_Bug sys_bug); class Sys_BugDynamic{ public String selectBySys_BugDynamic(Sys_Bug sys_bug){ String sql = "select bug_id,bug_name,bug_detail,bug_type,bug_solve,bug_opener"; if(sys_bug.getBug_id() != 0){ sql = sql + "where bug_id = #{bug_id}"; }else if (sys_bug.getBug_name() != null){ sql = sql +"and bug_name = #{bug_name}"; } return sql; } }
其中type对应内部类的类名,method对应着内部类的方法名,然后内部类中使用判断来自行选择是否追加后面的语句。
其实本人觉得第二种更方便一些,但是可能阅读起来不太直观和明确