首先在这里我很庆幸,终于又解决一个bug,真是bug缠身啊。希望大家相互讨论————菜菜的程序员
第一点:先从实体类开始吧,今天要做一个项目,因为查询需要很多字段,但是数据库中没有,这些字段。所以想法有点,扩展原来的实体类。roomQueryVo
package com.hotelsystem.pojo.vo;
import com.hotelsystem.pojo.Room;
//包装类:用于parameterType
public class RoomQueryVo extends Room {
//标客天
private Double priceDayStart;
private Double priceDayEnd;
//标客时
private Double priceHourStart;
private Double priceHourEnd;
//v客天
private Double VIPDayStart;
private Double VIPDayEnd;
//v客时
private Double VIPHourStart;
private Double VIPHourEnd;
public Double getPriceDayStart() {
return priceDayStart;
}
public void setPriceDayStart(Double priceDayStart) {
this.priceDayStart = priceDayStart;
}
public Double getPriceDayEnd() {
return priceDayEnd;
}
public void setPriceDayEnd(Double priceDayEnd) {
this.priceDayEnd = priceDayEnd;
}
public Double getPriceHourStart() {
return priceHourStart;
}
public void setPriceHourStart(Double priceHourStart) {
this.priceHourStart = priceHourStart;
}
public Double getPriceHourEnd() {
return priceHourEnd;
}
public void setPriceHourEnd(Double priceHourEnd) {
this.priceHourEnd = priceHourEnd;
}
public Double getVIPDayStart() {
return VIPDayStart;
}
public void setVIPDayStart(Double VIPDayStart) {
this.VIPDayStart = VIPDayStart;
}
public Double getVIPDayEnd() {
return VIPDayEnd;
}
public void setVIPDayEnd(Double VIPDayEnd) {
this.VIPDayEnd = VIPDayEnd;
}
public Double getVIPHourStart() {
return VIPHourStart;
}
public void setVIPHourStart(Double VIPHourStart) {
this.VIPHourStart = VIPHourStart;
}
public Double getVIPHourEnd() {
return VIPHourEnd;
}
public void setVIPHourEnd(Double VIPHourEnd) {
this.VIPHourEnd = VIPHourEnd;
}
}
扩展后,然后就开始操作dao层,在这里我也不知道为什么一直报
There is no getter for property named ‘room_id’ in ‘class com.hotelsystem.pojo.vo.RoomQueryVo’ 这个错,网上说的是在mapper.xml映射文件,他不知道这个类,好吧!那我们这里就给他一个注解@Param这个注解吧
//根据条件分页查询
List<Room> getPageforRoomLists(@Param("roomQueryVo") RoomQueryVo roomQueryVo);
嗯。。。结果就是还是不行,
Error evaluating expression 'roomQueryVo.room_id != null and roomQueryVo.room_id !='''. Cause: org.apache.ibatis.ognl.NoSuchPropertyException: com.hotelsystem.pojo.vo.RoomQueryVo.room_id
就是这样,就这个问题我处理了很久,我还以为是这个扩展类写的不对,然后疯狂百度,疯狂看博客。。。好吧,结果,还是没有找到我想要的答案。就这样找了几个小时,后就在刚刚,看了一下配置的结果映射,哈哈哈!我真无语,这实体类还可以点数据库里的字段吗?赶紧悄悄的赶过来。然后最后在试一试吧
这是我的测试类
@Test
public void testWithPage(){
System.out.println("page");
RoomQueryVo roomVo = new RoomQueryVo();
roomVo.setRoomId("3");
try {
List<Room> lists = roomService.getPageforRoomLists(roomVo);
for (int i = 0; i < lists.size(); i++) {
Room room = lists.get(i);
System.out.println(room);
}
} catch (Exception e) {
System.out.println("出错了");
e.printStackTrace();
}
}
然后,就这样,耳边响起愉快的歌声。
不足之处,希望,各位观众老爷,留下您的见解,大家讨论讨论,谢谢