【JavaWeb】服务器Hibernate、Struts2获取数据库数据并传递出去的总结

##所用到的框架##
Hibernate、Struts2

##整个过程##
1、通过Hibernate的逆向工程生成数据库表的bean映射文件

2、新建包,形成基本架构

3、Dao的实现类

4、Service的实现类调用Dao,把数据封装成JSONArray数据返回给Aciton

5、Action带哦用Service,在struts.xml配置result,类型为json

##遇到的问题##
1、Hibernate

a.找不到资源文件
这里写图片描述
解决办法是hibernate.cfg.xml里的mapping,删除逆向生成的hibernate.cfg.xml里的下图部分
这里写图片描述

b.报错说没用映射,可能是在初始化SessionFactory的时候没有把bean加到addClass里面

c.由于要用到给sql语句的设置参数(查询条件)要session.createSQLQuery(sql)方法,session.createQuery(sql)无法设置参数,但是session.createSQLQuery(sql)返回query得到的List是List<Object>而不是目标bean的List(List<bean>),需要在获取结果钱使用query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP)

2、Json

要把得到的List转换为Json格式的数据传递出去,需要把List转为Json格式,List对应的Json格式是JSONArray而不是JSONObject,在配置Action时要配置result类型为type=“json”,配置如下
这里写图片描述

传递出去的格式为
这里写图片描述

配置时要注意几点

①要设置root为你要传输的属性名称,不然会多出一个key,如下图
这里写图片描述

②要用exclude(不知道为什么用include就会没数据)

aciton传递json的配置到http://blog.csdn.net/itdada/article/details/21344985去看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WGeeker

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值