@SelectProvider和 @InsertProvider ,@SelectProvider某些情况可以共用:
// 动态插入部门
@InsertProvider(type=DeptDynaSqlProvider.class,method="insertDept")
void save(Dept dept);
// 动态修改用户
@SelectProvider(type=DeptDynaSqlProvider.class,method="updateDept")
void update(Dept dept);
// 动态插入
public String insertDept(Dept dept){
return new SQL(){
{
INSERT_INTO(DEPTTABLE);
if(dept.getName() != null && !dept.getName().equals("")){
VALUES("name", "#{name}");
}
if(dept.getRemark() != null && !dept.getRemark().equals("")){
VALUES("remark", "#{remark}");
}
}
}.toString();
}
// 动态更新
public String updateDept(Dept dept){
return new SQL(){
{
UPDATE(DEPTTABLE);
if(dept.getName() != null){
SET(" name = #{name} ");
}
if(dept.getRemark() != null){
SET(" remark = #{remark} ");
}
WHERE(" id = #{id} ");
}
}.toString();
}
原因以后补充