俺だよ俺。質問してみたよ....
JavaのS2JDBCというグレイトなORMがあって、何がいいってこのSimpleWhere。検索条件に該当する変数がnullだったら無視してくれるので、ベタに検索条件を組み立てる必要がない。これがすごすぎてCakePHPのORマッパーとかうんことか思ってた。
Seasar2 - S2JDBC - JdbcManager - 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();
SQLAlchemyで上記に等しいことが出来るのだろうか... これでlastnameがNoneか空文字だったら無視してくれるようになれば最高なんだけどね....
firstname,lastname = None rs = User.query.\ filter(User.firstname.like('%' + firstname + '%')).\ filter(User.lastname.like('%' + lastname + '%')).\ all()