我在mybatis文档和inet中搜索过。但找不到解决方案。
我的目标是:从myBatis动态SQL选择返回阉羊
Map <Strinng (Data Base Column), Object (Database Value)> or
List<Object> (Database Values)
不创建pojo作为数据库表的表示。
它应该看起来像:
1) 动态SQL:
<select id="selectRecords" parameterType="Entry" resultType="Map">
SELECT
<foreach item="column" index="index" collection="columns" separator=",">
${column}
</foreach>
from ${tableName}
</select>
2) 我在动态选择中输入的参数:
public class Entry {
private String tableName;
private String[] columns;
//constructor
//getters, setters
}
3) 返回映射的方法:
Map<String, Object> selectRecords(Entry entry);
教程中的第一个示例显示了返回的简单集合的示例。在这里
<select id="selectPerson" parameterType="int" resultType="hashmap">
SELECT * FROM PERSON WHERE ID = #{id} </select>
此语句称为selectPerson,采用int(或Intger)类型的参数,并返回由映射到行值的列名键控的HashMap。
在此hashmap中,键值对是“ColumnName”-“Column的值”对。未使用pojo。您的示例代码对我来说似乎是正确的,如果您有任何错误,可以打印出来。
动态 SQL 是 MyBatis 的强大特性之一。在 JDBC 或其它类似的框架中,开发人员通常需要手动拼接 SQL 语句。根据不同的条件拼接 SQL 语句是一件极其痛苦的工作。例如,拼接时要确保添加了必要的空格,还要注意去掉列表最后一个列名的逗号。而动态 SQL 恰好解决了这一问题,可以根据场景动态的构建查询。 动态 SQL 只有几个基本元素,与 JSTL 或 XML 文本处理器相似,十分简单明
本文向大家介绍详解Mybatis动态sql,包括了详解Mybatis动态sql的使用技巧和注意事项,需要的朋友参考一下 1.什么是mybatis动态sql 看到动态,我们就应该想到,这是一个可以变化的sql语句 MyBatis的动态SQL是基于OGNL表达式的,它可以帮助我们方便的在SQL语句中实现某些逻辑 2.mybatis动态sql使用前准备 a.数据库表 b.创建类 3.使用mybatis动
如何在SQL Select语句上返回布尔值? 我尝试了以下代码: 并且它只返回如果存在于表中。如果表中不存在UserID,我希望它返回。
问题内容: 我有一个数据库字段名称调用,我正在尝试使用如下所示的变量名称来选择它: 显然,SQL将解释为字符串,而不是数据库的字段,我如何以这种方式将其识别为字段名而不是字符串,可能没有任何select或if语句。 问题答案: 试试这个: 您必须组成一个动态查询,并使用 要在事物的“动态”方面添加更多内容,请使用存储过程。请参见此处的示例: http://www.marten-online.com
本文向大家介绍Mybatis入门教程(四)之mybatis动态sql,包括了Mybatis入门教程(四)之mybatis动态sql的使用技巧和注意事项,需要的朋友参考一下 推荐阅读: MyBatis入门学习教程(一)-MyBatis快速入门 什么是动态SQL? 动态SQL有什么作用? 传统的使用JDBC的方法,相信大家在组合复杂的的SQL语句的时候,需要去拼接,稍不注意哪怕少了个空格,都会导
本文向大家介绍Mybatis动态SQL实例详解,包括了Mybatis动态SQL实例详解的使用技巧和注意事项,需要的朋友参考一下 动态SQL 什么是动态SQL? MyBatis的官方文档中是这样介绍的? 动态 SQL 是 MyBatis 的强大特性之一。如果你使用过 JDBC 或其它类似的框架,你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列