Beispiel #1
0
  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);
  }
Beispiel #2
0
 /**
  * 根据传入的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
 }
Beispiel #3
0
 /** 使用传入的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
 }
Beispiel #4
0
 /**
  * 根据传入的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
 }
Beispiel #5
0
 /**
  * 根据传入的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
 }
Beispiel #6
0
 /**
  * 根据传入的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
 }