fwq
7 天以前 55334da20cff4dac840c320eda1d0ca53ba27eda
src/main/java/com/hx/mybatisTool/SqlSentence.java
@@ -1,6 +1,7 @@
package com.hx.mybatisTool;
import com.hx.exception.TipsException;
import com.hx.util.SimpleTool;
import com.hx.util.StringUtils;
import java.util.Map;
@@ -12,7 +13,11 @@
 */
public class SqlSentence {
   /**执行语句*/
   private String sqlSentence;
   /**新增存在查询判断*/
   private String whereExist;
   private Map<String,Object> m;
    /**排序*/
@@ -21,6 +26,8 @@
   private Integer startPage = 0;
    /**每页数量*/
   private Integer pageNum = 0;
   /**条数(当前类使用)*/
   private Integer pageSize;
   //////////////////////////////////////////////////////////////
@@ -84,6 +91,95 @@
      m = values;
   }
   /**
    * sql整条语句-分页
    * @param sql 如:select * from user Where name = #{m.userName} order by age desc
    * @param values 存放的值如:values.put("userName","ChenJiaHe")
    * @param pageNum 当前页数
    * @param pageSize 当前条数
    */
   public void sqlSentencePage(String sql,Map<String,Object> values,int pageNum,int pageSize) {
      if(StringUtils.isEmpty(sql)) {
         throw new TipsException("sql is null");
      }
      if(values == null) {
         throw new TipsException("values is null");
      }
      if(pageNum < 1){
         pageNum = 1;
      }
      if(pageSize < 1){
         pageSize = 1;
      }
      this.pageNum = pageNum;
      this.pageSize = pageSize;
      //算起点
      int pageStart = (pageNum-1)*pageSize;
      sql = sql+" LIMIT "+pageStart+","+pageSize;
      sqlSentence = sql;
      m = values;
   }
   /**分页组装信息
    * @param data 装载信息
    * @param totalNum 总页数
    * @return 装载信息
    */
   public Map<String,Object> pageAssembleData(Map<String,Object> data,int totalNum){
      data.put("pageNum",pageNum);
      data.put("pageSize",pageSize);
      data.put("total",totalNum);
      int pages;
      if(pageSize > 0){
         if(totalNum%pageSize > 0){
            pages = totalNum/pageSize+1;
         }else{
            pages = totalNum/pageSize;
         }
      }else{
         pages = 0;
      }
      data.put("pages",pages);
      if(pages <= pageNum){
         data.put("isLastPage",true);
      }else{
         data.put("isLastPage",false);
      }
      return data;
   }
   /**
    * 查询的语句
    * @param sql 如:id = #{m.userId} order by age DESC
    * @param values 存放的值如:values.put("userId","123456")
    */
   public void sqlWhere(String sql,Map<String,Object> values) {
      if(!SimpleTool.checkNotNull(values)){
         throw new TipsException("values is null");
      }
      if(!SimpleTool.checkNotNull(sql)) {
         sql = "1=1";
      }
      sqlSentence = sql;
      m = values;
   }
   /**
    * 更新语句的语句
    * @param sql 如:name = #{m.name},age = ? WHERE id = #{m.id}
    * @param values 存放的值
    */
   public void sqlUpdate(String sql,Map<String,Object> values) {
      if(!SimpleTool.checkNotNull(values)){
         throw new TipsException("values is null");
      }
      m = values;
      sqlSentence = sql;
   }
   
   /************************************************************************/
@@ -132,6 +228,24 @@
        return (startPage - 1) * pageNum;
    }
   public String getWhereExist() {
      return whereExist;
   }
   public void setWhereExist(String whereExist) {
      if(StringUtils.isNull(whereExist)){
         whereExist = null;
      }
      this.whereExist = whereExist;
   }
   public Integer getPageSize() {
      return pageSize;
   }
   public void setPageSize(Integer pageSize) {
      this.pageSize = pageSize;
   }
}