燕子18 2018-12-14 08:31 采纳率: 47.1%
浏览 1135
已采纳

mysql查询在数据库正常,但是在java里就报错

select i.id,i.price,i.amount,g.name from orderitem i ,goods g where order_id = ? and i.goods_id = g.id
java.sql.SQLException: Cannot create com.yanzi.model.OrderItem: com.yanzi.model.OrderItem Query: select i.id,i.price,i.amount,g.name from orderitem i ,goods g where order_id = ? and i.goods_id = g.id Parameters: [9]


public List<OrderItem> selectAllItem(int orderid) throws SQLException {
    QueryRunner r = new QueryRunner(DBUtil.getDataSource());        
    String sql = "select i.id,i.price,i.amount,g.name from orderitem i ,goods g where order_id = ? and i.goods_id = g.id";
    System.out.println(sql);
    return r.query(sql, new BeanListHandler<OrderItem>(OrderItem.class),orderid);
}
  • 写回答

3条回答

  • 爱码少年 2018-12-14 09:49
    关注

    先这样写

    public List<Map< String, Object>> selectAllItem(int orderid) throws SQLException {
    QueryRunner r = new QueryRunner(DBUtil.getDataSource());

    String sql = "select i.id,i.price,i.amount,g.name from orderitem i ,goods g where order_id = ? and i.goods_id = g.id";
    System.out.println(sql);
    return r.query(sql, new MapListHandler(),orderid);
    }
    看报不报错,没错的话sql没问题;
    接下来检查 OrderItem 有没public 无参构造方法,字段名与SQL 列的对应关系。

    参考demo: https://gitee.com/00fly/java-code-frame/tree/master/dbutils-jdbc

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序