0
A
回答
0
您可以構建整個字符串WHERE子句,將其放入參數對象中,然後像這樣在您的iBATIS XML中引用它:
select *
from blah
where ?whereClause?
'?'在參數的末尾告訴iBATIS按原樣使用它的內容。這可能會打開潛在風險(SQL注入等)的大門,因此在繼續使用此方法之前,請務必徹底檢查您的參數。
1
這是通過從IBatis生成動態查詢的解決方案。
用於查詢的配置對象:
[Serializable]
public partial class QueryHelper
{
private string _queryFields;
public string query_fields
{
get { return _queryFields; }
set { _queryFields = value; }
}
private string _queryFrom;
public string query_from
{
get { return _queryFrom; }
set { _queryFrom = value; }
}
private string _queryFilterDefa;
public string query_filter_defa
{
get { return _queryFilterDefa; }
set { _queryFilterDefa = value; }
}
private string _queryFilterId;
public string query_filter_id
{
get { return _queryFilterId; }
set { _queryFilterId = value; }
}
private string _queryJoins;
public string query_joins
{
get { return _queryJoins; }
set { _queryJoins = value; }
}
private string _queryFilter;
public string query_filter
{
get { return _queryFilter; }
set { _queryFilter = value; }
}
private string _queryOrder;
public string query_order
{
get { return _queryOrder; }
set { _queryOrder = value; }
}
}
的XML
<?xml version="1.0" encoding="utf-8" ?>
<sqlMap namespace="QueryHelper"
xmlns="http://ibatis.apache.org/mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<alias>
<typeAlias alias="QueryHelper" type="Core.CustomEntities.QueryHelper" />
</alias>
<statements>
<select id="ExecuteQuery" parameterClass="QueryHelper" resultClass="HashTable">
SELECT $query_fields$
FROM $query_from$
<isNotEmpty property="query_joins" >
$query_joins$
</isNotEmpty>
WHERE $query_filter_defa$
<isNotEmpty prepend="AND" property="query_filter_id" >
$query_filter_id$
</isNotEmpty>
<isNotEmpty prepend="AND" property="query_filter" >
$query_filter$
</isNotEmpty>
<isNotEmpty prepend="ORDER BY" property="query_order" >
$query_order$
</isNotEmpty>
</select>
</statements>
</sqlMap>
相關問題
- 1. Ibatis中的動態查詢
- 2. iBATIS的動態查詢幫助
- 3. ibatis中的動態查詢錯誤
- 4. Spring-iBatis動態創建數據庫
- 5. 動態創建linq查詢
- 6. 創建動態LINQ查詢
- 7. 動態創建JOOQ查詢
- 8. 創建動態mysql查詢
- 9. 動態創建sql查詢
- 10. 動態查詢創建MySQL
- 11. 動態SQL查詢創建
- 12. 動態查詢創建
- 13. iBatis子查詢
- 14. 動態創建的滑動查詢
- 15. 如何使用ibatis動態查詢添加檢查條件?
- 16. 如何動態創建Linq查詢
- 17. 創建動態更新SQL查詢
- 18. 動態創建MySQL的SELECT查詢
- 19. 需要查詢的是動態創建
- 20. 從mysql查詢動態創建表
- 21. 創建動態查詢字符串
- 22. 創建一個動態查詢
- 23. 動態查詢創建和執行PostgreSQL
- 24. 爲SQLite3創建動態查詢
- 25. SQL - 動態查詢不會創建表
- 26. PHP動態查詢創建形式
- 27. 動態創建蒙戈查詢對象
- 28. 動態在django中創建「OR」查詢
- 29. 如何創建動態PowerShell查詢?
- 30. pl sql&java - 創建動態查詢