c# - Ibatis 中的动态查询

标签 c# mysql ibatis dynamicquery

是否可以将动态查询传递给Ibatis并从中获取记录?

例如我使用 StringBuilder 构建了查询,最后,我得到了以下查询“select emp_id, emp_name from employee where emp_id==1”。现在我需要将这个完整的查询传递给 Ibatis 并获取记录。

注意:此处的列数和条件会因每个查询形式而异

编辑:如何将查询传递给 Ibatis 并使用 ibatis 执行它?

最佳答案

我认为你不能,即使你可以,你也不应该这样做。 “使用 StringBuilder 构建查询”违背了 iBatis 的目的,并且很容易出现很多问题(其中包括 SQL 注入(inject)),而 iBatis 正是为了防止这些问题而设计的。

帮自己一个忙:阅读 dynamic queries in iBatis并将 SQL 从 Java 转换为 XML(如果您确实想使用 iBatis)。

如果你真的坚持...好吧,我想你可以将整个 sql 查询作为单个字符串传递给 iBatis,例如调用动态执行该 sql 代码的存储过程。可怕但可以想象。

关于c# - Ibatis 中的动态查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3138912/

相关文章:

java - iBatis/MyBatis - 获取结果映射而不是具有自定义键和值的列表

c# - ASP.NET 中将数据库中的行配置为在特定时间后删除的最佳方法

mysql - 查询内连接两个表

mysql - 使用 MySQL 搜索 : How to escape wildcards

php - mysql_query() 和 mysql_result() 有什么区别?

mysql - myBatis 3 从没有关系的表中查询

c# - 如何将复合类型传递给 PL/pgsql 函数?

c# - 在命名捕获中获取表达式

c# - 监控 Windows 共享

java - mybatis 映射器 xml : The content of element type "mapper" must match