湘西小飞狐

2009年7月30日 #

日系 Seasar Struts 之S2JDBC

关于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里传过去就好了...





posted @ 2009-07-30 22:44 小飞狐 阅读(892) | 评论 (0)编辑 收藏

My Links

Blog Stats

News

常用链接

留言簿(1)

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜