不須要寫任何if來判斷參數拼接SQL,簡便效率javascript
<form id="search" class="form-horizontal" role="form">
<div class="form-group col-sm-6 col-md-6">
<label title="標題" class="control-label col-sm-3">
用戶名稱
</label>
<div class="col-sm-9">
<input class="form-control" type="text" name="name" data-operator="6" /><!--6 模糊查詢-->
</div>
</div>
<div class="form-group col-sm-6 col-md-6">
<label title="建立時間" class="control-label col-sm-3">
建立時間
</label>
<div class="col-sm-9">
<input class="form-control date" type="text" name="createDate" data-operator="16" data-table="users" data-type="6" />
<!--
data-operator="16" 是大於等於
data-type="6" 是時間格式
-->
</div>
</div>
<div class="form-group col-sm-6 col-md-6 operating">
<a class="btn btn-primary" href="javascript:void(0)" onclick="users.init()">查詢</a>
</div>
</form>前端
而後使用$("#search").serializeQuery();獲取動態化參數對象java
data-operator | 操做符 |
13 | 等於(Equal) |
16 | 大於等於(>=) |
21 | 小於等於(<=) |
6 | 模糊查詢(Contains) |
data-type | 值類型 |
16 | String |
6 | DateTime |
若是是多表須要配置data-table,data-table對應表名,須要在程序啓動時註冊 git
EntityCache.Register(typeof(T));github
/// <param name="dynamicWhere">動態化參數對象</param>數據庫
public JsonResult Query(Dictionary<string, DynamicTree> dynamicWhere = null)
{後端
using (var conn = new SqlConnection("數據庫鏈接字符串"))
{
var result = conn.QuerySet<users>().Where(dynamicWhere).ToList();
return result ;
}app
}框架
完整Demo能夠去Github上下載:spa
https://github.com/a935368322/Kogel.Dapper.Test
若有問題也能夠加QQ羣討論:
技術羣 710217654
框架開源,能夠加羣下載源碼