mybatis 查询数据库返回值某字段是 List 该怎么搞?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis 查询数据库返回值某字段是 List 该怎么搞?相关的知识,希望对你有一定的参考价值。
解决方法:如果确认是单条数据,可以直接 Object? ***(**); 。没有封装成对象时,默认返回的是List<Map<字段名称String,列值Object>>这样的数据。Dao接口:
List<Map<String,Object>> list(Integer id);
SQL:
<select id="list" parameterType="Integer" resultType="Map">。
拓展:
1、MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。iBATIS一词来源于"internet"和"abatis"的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(sDAO)。
2、MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
参考技术A使用MyBatis往mysql数据库中插入一条记录后,需要返回该条记录的自增主键值。
方法:在mapper中指定keyProperty属性。
Xml代码
<insert id="insertAndGetId" useGeneratedKeys="true" keyProperty="userId" parameterType="com.chenzhou.mybatis.User">
insert into user(userName,password,comment)
values(#userName,#password,#comment)
</insert>
如上所示,我们在insert中指定了keyProperty="userId",其中userId代表插入的User对象的主键属性。
User.java
Java代码
public class User
private int userId;
private String userName;
private String password;
private String comment;
//setter and getter
UserDao.java
Java代码
public interface UserDao
public int insertAndGetId(User user);
测试:
Java代码
User user = new User();
user.setUserName("chenzhou");
user.setPassword("xxxx");
user.setComment("测试插入数据返回主键功能");
System.out.println("插入前主键为:"+user.getUserId());
userDao.insertAndGetId(user);//插入操作
System.out.println("插入后主键为:"+user.getUserId());
以上是关于mybatis 查询数据库返回值某字段是 List 该怎么搞?的主要内容,如果未能解决你的问题,请参考以下文章
mybatis 查询数据库返回值某字段是 List 该怎么搞
mybatis 查询数据库返回值某字段是 List 该怎么搞
mybatis返回一个count加一个字段该怎么设置返回resultType