工作中遇到的一些问题总结(一)

1.hiberbate整合spring实现增删改查有两种方法,一是HibernateDaoSupport,二是hibernateTemplate。区别在于HibernateDaoSupport无法使用注解,hibernateTemplate可以使用注解功能。但在xml配置时,HibernateDaoSupport较灵活。

2..hibernate整合spring时就无需再写hibernate.cfg.xml配置文件了。原来的内容都可以添加到applicationContext.xml中。

3.利用el表达式可以获取项目的名称,如可以用

${pageContext.request.contextPath}
来显示。如项目名称为test,则加入该段代码后,页面显示为

/test
而要用java代码显示项目名,则可以用

<%= request.getContextPath() %>
实现类似的功能。

4.String型转换为long型。如从后台接收long型的id,在java中直接接受的为String型,这时就需要转换

long userID = Long.parseLong(request.getParameters("userId"));
5.点击按钮返回上一步,可以用

οnclick="history.go(-1)"
或者用javascript;来写

<a href="javascript:history.go(-1)">返回上一步</a>
6.使用

private static final long serialVersionUID = 1L;
serialVersionUID用来表明类的不同版本间的兼容性。就是说java的序列化机制是通过在运行时判断类的serivalVersionUID来验证版本一致性。只有同一次编译生成的class才会生成相同的serivalVersionUID。

7.hibernate的hql语句中“=:”是占位符,表示要赋的值,这个和占位符“?”作用相同,只是用法略有差别。注意“=:”两边不能有空格。如

String hql ="from Cart as a where a.member=:member and a.cartStatus=0";
中a.member后要传入参数,而这种参数是以键值对形式定义的。可以为setParameter("member",value);

若为"?"的话,则为setParameter(1,value);

8.关于日期的格式问题

如果MySQL中日期格式为dateTime,那么在jsp页面显示的也为dateTime类型,日期接受的为String型。

比如createDate在数据库显示的为2013-11-12 00:00:00,利用${order.createDate}显示的为2013-11-12 00:00:00。这时可以格式化显示,方法也很简单。

在jsp页面引入

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
显示时,可以用

<fmt:formatDate value="${order.createDate}" pattern="yyyy-MM-dd" />
然后显示的只有日期2013-11-12
当然,也可以在从数据库接收时用simpleDateFormate直接格式化时间,但是还得转码,相对来说比较麻烦。

9.两张表order和suppliers,order表存储的是suppliers的id,那么在jsp页面怎么显示suppliers的name属性(即根据order的suppliersId查询出相应的suppliersName)?可以用如下方法

List<Order> list = this.orderManager.getOrderById(id);
for(Order order : list){
	Suppliers suppliers = this.suppliersManager.getSuppliersName(order.getSuppliersId());
	order.setSuppliersName(suppliers.getSuppliersName());
}
而不用另外写什么复杂的方法。
order表存储的只是suppliersId,没有suppliersName。此时为了方便,需要在jsp页面显示suppliersName,而不是suppliersId。就有了该过程,整个流程是先对order对象进行遍历,找出表中存储的suppliersId,根据suppliersId找出suppliersName,再把suppliersName这个属性set进order对象即可。

10.jsp页面做判断,根据不同的值显示不同的内容。

比如说“状态”,数据库存储的只是数字,0表示“进行中”,1表示“已完成”。那么为了在页面看着较直观,可以用c标签做判断,而且可以直接用,无需先导入标签库。

<c:choose>
	<c:when test = "${order.orderStatus == 0 }" ><!-- 注意该处写法-->
		<c:out value = "进行中"></c:out>
	</c:when>
	<c:otherwise>
		<c:out value="已完成"></c:out>
	</c:otherwise>
</c:choose>


在测试工作,我经常遇到以下一些问题,并且找到了相应的解决方法。 首先,一个常见的问题是测试环境的不稳定性。有时候,由于多个团队同时使用同一测试环境,可能会导致环境不稳定,从而影响测试的进行。为了解决这个问题,我们采取了以下措施:一是明确测试环境的使用规范,确保各团队按照规定的时间段使用环境;二是定期检查和维护测试环境,及时解决可能导致不稳定的问题,以确保测试的顺利进行。 其次,测试用例的编写和管理也是一个常见的问题。有时候,由于项目需求变化或者时间紧迫,测试用例的编写和管理可能会变得混乱和困难。为了解决这个问题,我们采取了以下措施:一是在项目初期,与开发团队和项目管理团队沟通,明确需求和时间点,以便制定合理的测试计划;二是使用测试管理工具,帮助我们更好地编写和管理测试用例,包括分类、优先级、补充和修改等。 最后,与开发团队的协调也是测试工作遇到问题。有时候,开发团队可能存在对测试需求的理解不一致,导致测试进展受阻。为了解决这个问题,我们采取了以下措施:一是及时沟通,明确测试需求和优先级,确保开发团队清楚测试的目标;二是定期开展需求评审会议,与开发团队就需求进行讨论和澄清,以缩小认知差异。 总结起来,测试工作可能会遇到环境稳定性、测试用例编写和管理、与开发团队的协调等问题。解决这些问题的关键在于明确规范、合理安排时间和任务,以及积极沟通和协调。通过这些方法,我们能够更好地开展测试工作,提高测试效果和质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值