|
package com.mtea.mis.builder;
/**
* 父SQL构建器
* 提供常用的构建方法
* @author Macrotea
* @version 0.1
* @date 2011-9-26
* @note
*/
public class BaseSqlBuilder {
/**
* 两边Like(eg: %name%)
* @param columnName
* @param propNames
* @return
*/
public static String LIKE(String columnName, String... propNames) {
if(propNames.length>0)
return columnName+" LIKE CONCAT('%', #{"+propNames[0]+"}, '%')";
else
return columnName+" LIKE CONCAT('%', #{"+columnName+"}, '%')";
}
/**
* 左边Like(eg: %name)
* @param columnName
* @param propNames
* @return
*/
public static String LEFTLIKE(String columnName, String... propNames) {
if(propNames.length>0)
return columnName+" LIKE CONCAT('%', #{"+propNames[0]+"})";
else
return columnName+" LIKE CONCAT('%', #{"+columnName+"})";
}
/**
* 右边Like(eg: name%)
* @param columnName
* @param propNames
* @return
*/
public static String RIGHTLIKE(String columnName, String... propNames) {
if(propNames.length>0)
return columnName+" LIKE CONCAT(#{"+propNames[0]+"}, '%')";
else
return columnName+" LIKE CONCAT(#{"+columnName+"}, '%')";
}
public static void main(String[] args) {
System.out.println(BaseSqlBuilder.LEFTLIKE("typeName"));
}
}
public final class UserTypeSqlBuilder extends BaseSqlBuilder{
public String searchBy(UserType e){
BEGIN();
SELECT("*");
FROM(TABLE);
if (e.getTypeName() != null) {
WHERE(LIKE("typeName"));
}
if (e.getRemark() != null) {
WHERE(LIKE("remark"));
}
return SQL();
}
} |
|
|