首先在这里我很庆幸,终于又解决一个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层,在这里我也不知道为何一直报web
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);
嗯。。。结果就是仍是不行,express
Error evaluating expression 'roomQueryVo.room_id != null and roomQueryVo.room_id !='''. Cause: org.apache.ibatis.ognl.NoSuchPropertyException: com.hotelsystem.pojo.vo.RoomQueryVo.room_id
就是这样,就这个问题我处理了好久,我还觉得是这个扩展类写的不对,而后疯狂百度,疯狂看博客。。。好吧,结果,仍是没有找到我想要的答案。就这样找了几个小时,后就在刚刚,看了一下配置的结果映射,哈哈哈!我真无语,这实体类还能够点数据库里的字段吗?赶忙悄悄的赶过来。而后最后在试一试吧apache
这是个人测试类app
@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(); } }
而后,就这样,耳边响起愉快的歌声。svg
不足之处,但愿,各位观众老爷,留下您的看法,你们讨论讨论,谢谢测试