Sure!
什么是MyBatis
MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java 的 POJO(Plain Old Java Objects)为数据库中的记录。
如何返回List
在 MyBatis 中查询数据并返回 List
使用 resultMap 映射mapper的返回类型
在 mapper.xml 文件中,配置结果集且指定返回类型为 Map 类型:
<!-- 方式一:使用 resultMap 映射mapper的返回类型 -->
<select id="getUserList" resultMap="resultMap">
select * from user
</select>
<resultMap id="resultMap" type="java.util.Map">
<result column="user_id" property="userId"/>
<result column="user_name" property="userName"/>
<result column="password" property="password"/>
<result column="email" property="email"/>
<result column="mobile" property="mobile"/>
</resultMap>
在上述代码中,我们使用 resultMap 元素定义了我们需要返回的结果类型,它的 type 属性指定了返回结果集的类型为 java.util.Map,而子元素 result 指定了数据库中的列名和 Map 中的 key 属性。在这种方式下,我们需要指定数据库列名和 Map 中的 key 一一对应。举个栗子,如果数据库中有一列叫 user_id,那么对应的 key 属性也必须为 userId。
接着在 java 代码中调用该方法即可取得 List
List<Map> userList = userMapper.getUserList();
使用自动映射
在 MyBatis 中,我们还可以使用自动映射方式实现返回 List
<!-- 方式二:使用自动映射 -->
<select id="getUserList" resultType="java.util.Map">
select user_id, user_name, password, email, mobile from user
</select>
在上述代码中,我们使用 resultType 元素指定了返回结果集的类型为 java.util.Map 类型,且映射是自动进行的。MyBatis 会自动将数据库列名和 Map 中的 key 一一对应。这种自动映射方式省去了 resultMap 块,更加简洁。
在 java 代码中调用该方法即可取得 List
List<Map> userList = userMapper.getUserList();
示例
样例一:使用 resultMap 映射方式返回List
mapper.xml 配置如下:
<resultMap id="userMap" type="java.util.Map">
<id column="id" property="id"/>
<result column="username" property="username"/>
<result column="password" property="password"/>
<result column="email" property="email"/>
</resultMap>
<select id="getUserList" resultMap="userMap">
SELECT id, username, password, email FROM users
</select>
在 java 代码中调用该方法:
List<Map> userList = userMapper.getUserList();
样例二:使用自动映射方式返回List
mapper.xml 配置如下:
<select id="getUserList" resultType="java.util.Map">
SELECT id, username, password, email FROM users
</select>
在 java 代码中调用该方法:
List<Map> userList = userMapper.getUserList();
以上就是通过 MyBatis 查询实现返回 List
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:mybatis查询实现返回List