个人理解: where if就相当于正常的java中的if 语句,如果有多个条件组合判断的话用 and, or连接 而where choose when otherwise choose就好像是switch,when相当于case,可以有一种属性的对个判断,但不能同时去判断多个属性. 同时,只要有一个when满足,则break otherwise就好像是default,如果前面的when都不满足,则进入otherwise 1.动态sql where if 传递参数为实体类user,if内的use…