关于JDBC这快,简直太简洁了,,不需要看到SQL文。
如下代码所示:
**********************************************************************************************************
public String departmentName;
public String[] jobTypes = new String[0];
public BigDecimal salaryMax;
public BigDecimal salaryMin;
...
jdbcManager.from(Employee.class)
.where(new SimpleWhere()
.eq("department.name", departmentName)
.in("jobType", jobTypes)
.ge("salary", salaryMin)
.le("salary", salaryMax))
.getResultList();
eq(CharSequence propertyName, Object value) |
propertyName = ?
の条件を追加します。valueがnullの時は追加されません。
|
ne(CharSequence propertyName, Object value) |
propertyName <> ?
の条件を追加します。valueがnullの時は追加されません。
|
当传的参数为空的时候,where语句将自动过滤掉此参数所带的条件
这样就强大了??不,还有更简洁美观的。。。
**********************************************************************************************************
Map<String, Object> w = new HashMap<String, Object>();
w.put("department.name", departmentName);
w.put("jobType_IN", jobTypes);
w.put("salary_LE", salaryMax);
w.put("salary_GE", salaryMin);
jdbcManager.from(Employee.class).where(w).getResultList();
_EQ |
propertyName = ?
の条件を追加します。valueがnullの時は追加されません。
|
_NE |
propertyName <> ?
の条件を追加します。valueがnullの時は追加されません。
|
_NOT_IN |
propertyName not in (?, ...)
の条件を追加します。
valueがnullの時または長さが0の時は追加されません。
|
_LIKE |
propertyName like ?
の条件を追加します。 valueがnullの時は追加されません。
|
简单的把参数放在一个map里传过去就好了...