为了账号安全,请及时绑定邮箱和手机立即绑定

SSM-MYSQL:使用SQL语句能正确查出多条语句,mybatis同样的逻辑却只得到最后一条

SSM-MYSQL:使用SQL语句能正确查出多条语句,mybatis同样的逻辑却只得到最后一条

迷失代码林 2017-09-01 20:56:08
不管我怎么弄,有且只有一条,而且是最后一条。。。实体类Users中有属性cardId,为主键,是实体类RealEstate的外键,RealState中有1对多关系属性private Users user;dao接口和映射文件代码:public interface RealEstateMapper { @MapKey("users") public Map<Users,RealEstate> getReListByUsers(Users users); @MapKey("id") public Map<Integer,RealEstate> getReListById(Integer Id); public Integer insertRes(RealEstate realEstate); public Integer deleteRes(RealEstate realEstate); public Integer updateRes(RealEstate realEstate); }<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"     "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="dao.RealEstateMapper"> <select id="getReListById" resultType="RealEstate" parameterType="RealEstate"> select * from real_estate where id=#{id} </select> <select id="getReListByUsers" resultType="RealEstate" parameterType="Users"> select * from real_estate where cardId=#{cardId} </select> <select id="insertRes" parameterType="RealEstate"> insert into real_estate(id,cardId,projectName,address,houseType,area,buildTime) values( #{id},#{cardId},#{projectName},#{address},#{houseType},#{area},#{buildTime} ) </select> <select id="updateRes" parameterType="RealEstate"> update real_estate set cardId=#{cardId},projectName=#{projectName},address=#{address},houseType=#{houseType},area=#{area},buildTime=#{buildTime}  where cardId=#{cardId} </select> <select id="deleteRes" parameterType="RealEstate"> delete from real_estate where cardId=#{cardId} or id=#{id} </select> </mapper>controller中调用了getReListByUsers(users)方法,users对象的cardId属性已赋值,控制台输出语句如下:[DEBUG] 2017-09-01 20:26:09,375 dao.RealEstateMapper.getReListByUsers - ==>  Preparing: select * from real_estate where cardId=? [DEBUG] 2017-09-01 20:26:09,375 dao.RealEstateMapper.getReListByUsers - ==> Parameters: 123456789123456789(String)用foreach输出查询到的对象只显示mysql中符合条件的最后一个数据,但是在mysql中能全部查出,参数我试了好几种,结果都一样,求解啊!
查看完整描述

2 回答

已采纳
?
精慕门9254224

TA贡献167条经验 获得超46个赞

一对多关系查出来不是应该用list 来接收吗?还有你的增删改为什么还用select 标签,不应该有对应的insert ,update ,delete 标签吗?

查看完整回答
反对 回复 2017-09-01
  • 迷失代码林
    迷失代码林
    哦,一开始是那么写的,但是复制来,粘贴去就忽略掉了这个标签的变化,不过项目不但能正常跑起,我之前插入数据也没任何问题,刚试过了也是可以的,为了规范我还是会改过来,谢谢提醒,我用list试下看
  • 迷失代码林
    迷失代码林
    没错,用list全接收到了,谢谢
?
慕UI9581161

TA贡献4条经验 获得超0个赞

增删改标签不应该用select 标签,有对应的insert ,update,delete 。 另外你是要做联合查询吗?

查看完整回答
反对 回复 2017-09-01
  • 2 回答
  • 0 关注
  • 4044 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信