|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
时间:2008-01-22 关键字: ibatis
框架:spring+ibatis,做单元测试的时候,发现速度很慢(大概需要半分钟的时间)
以下是相关代码: JUnit 测试代码:
public void testInsert() {
IContactPersonDAO iContactPersonDAO = (IContactPersonDAO) factory
.getBean("contactPersonDao");
System.out.println(iContactPersonDAO.toString()); List<ContactPerson> resultList = iContactPersonDAO.getAll();
System.out.println(resultList.get(0).getName());
assertEquals(resultList.size(),1);
}
其中,System.out.println(iContactPersonDAO.toString());很快就把信息打到控制台, 但是System.out.println(resultList.get(0).getName());信息需要大概30秒才能出来,不知道怎么回事 我用的是DBCP连接池,配置没有问题,下边是该查询对应的sql文件: <select id="select" resultClass="contactperson"> select * from contactperson </select> 因为可以查询出结果,所以我认为流程没有问题,一开始怀疑是连接池配置有问题,后来改用C3P0还是一样,不知道怎么回事。 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
时间:2008-01-22
我又试了几次,发现有时候查询时间竟然有2分钟!!
|
|
| 返回顶楼 | |
|
时间:2008-01-22
contactperson表里面数据太多了吧?导致getAll()花费了太多时间构建对象
|
|
| 返回顶楼 | |
|
时间:2008-01-22
Quake Wang 写道 contactperson表里面数据太多了吧?导致getAll()花费了太多时间构建对象
contactperson表里边只有一条记录 下边是我连接池的配置信息:
<bean id="dataSource"
class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass"
value="${jdbc.driverClassName}" />
<property name="jdbcUrl" value="${jdbc.url}" />
<property name="user" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
|
|
| 返回顶楼 | |
|
时间:2008-01-22
现在的问题是我根本不知道从哪里开始入手来解决问题,以前很少做单元测试,不会和Junit用关吧
|
|
| 返回顶楼 | |
|
时间:2008-01-22
没关连接?
|
|
| 返回顶楼 | |
|
时间:2008-01-22
抛出异常的爱 写道 没关连接? 我已经设置了destroy-method="close" ,应该是Spring容器关闭时,数据源就可以正常关闭。不需要我程序控制吧 |
|
| 返回顶楼 | |
|
时间:2008-01-22
supernaturalmagician 写道 抛出异常的爱 写道 没关连接?
我已经设置了destroy-method="close" ,应该是Spring容器关闭时,数据源就可以正常关闭。不需要我程序控制吧 ibites的本身不可能出2分钟这种事的. 我以前见过web应用与toad同时访问数据库同一条记录被卡的事件. 你把sql拷到数据库软件上跑一下...如果不慢 再看你的ibites配置是否有问题. |
|
| 返回顶楼 | |
|
时间:2008-01-22
抛出异常的爱 写道 supernaturalmagician 写道 抛出异常的爱 写道 没关连接?
我已经设置了destroy-method="close" ,应该是Spring容器关闭时,数据源就可以正常关闭。不需要我程序控制吧 ibites的本身不可能出2分钟这种事的. 我以前见过web应用与toad同时访问数据库同一条记录被卡的事件. 你把sql拷到数据库软件上跑一下...如果不慢 再看你的ibites配置是否有问题. 我也是用的toad,不过像你说的那种可能行比较小,我刚才注销了一下系统,没有启动toad,直接在命令行下运行sql,速度很快,但是用junit测试,就"死了" 如图: |
|
| 返回顶楼 | |
|
时间:2008-01-22
ibatis配置?能不能说的具体点,我以前也用sprng+ibatis开发过项目,不知道这次怎么就突然不行了,上图的状态现在可以持续很长时间...
|
|
| 返回顶楼 | |







