关于BeanListHandler的问题
product(商品)是一个javabean,类里面的成员变量包含了另一个Javabean,即category(商品种类),可是我的数据库product表中存放的是cid(商品种类的标识)而不是商品种类,在后台dao层向数据库要数据的时候使用了beanlisthandler对象,仍然能够封装成完整的product对象,请问这是为什么?
相关代码
//
product类
private String pid;
private String pname;
private double market_price;
private double shop_price;
private String pimage;
private Date pdate;
private int is_hot;
private String pdesc;
private int pflag;
private Category category;
category类
private String cid;
private String cname;
dao层代码
public List<Product> findHotProductList() throws SQLException {
QueryRunner runner=new QueryRunner(DataSourceUtils.getDataSource());
String sql="select * from product where is_hot =? limit ?,?";
return runner.query(sql, new BeanListHandler<Product>(Product.class), 1,0,9);
}
这是我的product表
为什么在访问数据库时候可以通过cid就能封装成完整的product对象?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
对于实体管理器而言,它发现
Product.category
是个同样注册为实体的Category
类型,而这个类型的主键是cid
,因此它就能知道查询结果中cid
对应的是category
表的主键。