コード例 #1
0
ファイル: BaseActionTest.java プロジェクト: Alvinte/li
  protected void setRequestURL(String path, String method) {
    path = Verify.startWith(path, "/") ? path : "/" + path;
    // request.setRequestURI(path);
    // request.setMethod(method);
    // request.setServletPath(path);

    Action action = ActionContext.getInstance().getAction(path, method);
    // Context.init(request, response, action);
  }
コード例 #2
0
ファイル: QueryBuilder.java プロジェクト: hooqee/li
 /**
  * 根据传入的SQL,构造一个用于COUNT(*)查询的SQL
  *
  * @param sql 传入的sql语句,可以包含'?'占位符和具名占位符
  * @param args 替换sql中占位符的值,或者对应具名占位符的Map
  * @see li.dao.QueryBuilder#setArgs(String, Object[])
  */
 public String countBySql(String sql, Object[] args) {
   if (!Verify.startWith(sql, "SELECT")) { // 不以SELECT开头
     sql = "SELECT COUNT(*) FROM " + beanMeta.table + " " + sql;
   } else if (!Verify.regex(sql.toUpperCase(), "COUNT\\(.*\\)")) { // 不包括COUNT(*)
     sql =
         "SELECT COUNT(*) FROM "
             + sql.substring(sql.toUpperCase().indexOf("FROM") + 4, sql.length()).trim();
   }
   int index = sql.toUpperCase().indexOf("LIMIT");
   if (index > 0) {
     sql = sql.substring(0, index); // 去掉limit部分
   }
   return setArgs(sql, args); // 处理args
 }
コード例 #3
0
ファイル: QueryBuilder.java プロジェクト: hooqee/li
 /** 使用传入的SQL和参数,构造一个用于查询一条记录的SQL */
 public String findBySql(String sql, Object[] args) {
   if (!Verify.startWith(sql, "SELECT")) { // 添加SELECT * FROM table 部分
     sql = "SELECT * FROM " + beanMeta.table + " " + sql;
   }
   return setArgs(sql, args); // 先处理别名,再处理page
 }
コード例 #4
0
ファイル: QueryBuilder.java プロジェクト: hooqee/li
 /**
  * 根据传入的SQL,构建一个用于删除若干条记录的SQL
  *
  * @param sql 传入的sql语句,可以包含'?'占位符和具名占位符
  * @param args 替换sql中占位符的值,或者对应具名占位符的Map
  * @see li.dao.QueryBuilder#setArgs(String, Object[])
  */
 public String deleteBySql(String sql, Object[] args) {
   if (!Verify.startWith(sql, "DELETE")) {
     sql = "DELETE FROM " + beanMeta.table + " " + sql;
   }
   return setArgs(sql, args); // 处理args
 }
コード例 #5
0
ファイル: QueryBuilder.java プロジェクト: hooqee/li
 /**
  * 根据传入的SQL,构建一个用于更新若干条记录的SQL
  *
  * @param sql 传入的sql语句,可以包含'?'占位符和具名占位符
  * @param args 替换sql中占位符的值,或者对应具名占位符的Map
  * @see li.dao.QueryBuilder#setArgs(String, Object[])
  */
 public String updateBySql(String sql, Object[] args) {
   if (!Verify.startWith(sql, "UPDATE")) {
     sql = "UPDATE " + beanMeta.table + " " + sql;
   }
   return setArgs(sql, args); // 处理args
 }
コード例 #6
0
ファイル: QueryBuilder.java プロジェクト: hooqee/li
 /**
  * 根据传入的SQL和page,构造一个用于分页查询的SQL
  *
  * @param page 分页对象
  * @param sql 传入的sql语句,可以包含'?'占位符和具名占位符
  * @param args 替换sql中占位符的值,或者对应具名占位符的Map
  * @see li.dao.QueryBuilder#setPage(String, Page)
  * @see li.dao.QueryBuilder#setArgs(String, Object[])
  */
 public String listBySql(Page page, String sql, Object[] args) {
   if (!Verify.startWith(sql, "SELECT")) { // 添加SELECT * FROM table 部分
     sql = "SELECT * FROM " + beanMeta.table + " " + sql;
   }
   return setPage(setArgs(sql, args), page); // 先处理别名,再处理args,最后处理page
 }