ssh学习中遇到的小问题

本文记录了在使用MyEclipse过程中遇到的数据库连接问题、Hibernate saveOrUpdate方法使用问题、Hibernate分页总记录数获取方法等,并分享了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   1、  新装了myEclipse之后再使用自动导出映射文件时遇到了一个问题:

   MyEclipse DB Brower建立oracle数据库连接的时候,报出下面的错误.
java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 1
java.sql.SQLException: ORA-12705: invalid or unknown NLS parameter value specified

修改eclipse/eclipse.ini中的-Duser.language=*保持与windows XP控制面板中"区域和语言选项"中选定的语言区域一至;

如:将"-Duser.language=en"修改为"-Duser.language=zh" 

   或          修改注册表中NLS_LANG的键值与ORACLE数据库中的表PROPS$中的NLS_LANGUAGE的值一致
 

 2、  在dao中设置了断点, 调试时方法已确定被调用, 然而设置的断点无效。 重启tomcat在debug模式下调试断点生效。

 
 3、——————————关于Hibernate的saveOrUpdate()方法——————
 public boolean savdDonateInfo(Donateinfo info, long id) {
  
  boolean flag = false;
  try{
   String hql = "select d from Donated d where id=?";
   
   List list =  this.getHibernateTemplate().find(hql, id);
   //System.out.println("测试: "+list.size());
   Donated donated = (Donated) list.get(0);
   info.setDonated(donated);
   this.getHibernateTemplate().save(info);
   flag = true;
  }catch(Exception ex){
   ex.printStackTrace();
  }
  return flag;
 }
如果我使用
this.getHibernateTemplate().saveOrUpdate(info); 则相应的数据不会保存进数据库,使用sava成功保存

     这似乎是hibernate三个状态的问题, 得重新复习一下这几个状态的特点了。

 

4、 异常Caused by: org.hibernate.HibernateException: JDBC Driver class not found:

oracle.jdbc.driver.OracleDriver。 然而我确认我已经将class12.jar导入了工程中....   ....

        没辙了, 最后将class12.jar放到tomcat目录下的lib中异常消失。

5、 以往在struts.xml中加上  <controller>
     <set-property property="processorClass"

value="org.springframework.web.struts.DelegatingRequestProcessor"/>
  </controller>时配置文件老是报错。

  后来将其添加在 <message-resources />元素前就没报错了。
  最近已经碰到过几次这样的问题, 由于xml文件做了相应的约束, 所以有些元素的存在着先后关系

6、 关于ssh集成的另一种配置方式 (以前我的配置都是放在struts-config.xml中的):

      <listener>
  <listener-class>
   org.springframework.web.context.ContextLoaderListener
  </listener-class>
 </listener>
 
   <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/classes/applicationContext.xml</param-value></context-param> 

——————在struts-config.xml中配置:
<controller>
  <set-property property="processorClass"

value="org.springframework.web.struts.DelegatingRequestProcessor"/>
 </controller>

    引发我寻找新的配置方法的原因:

   运行异常: servlet action is not avaliable异常——————解决之道

  在web.xml中做如下配置即可解决:

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/classes/applicationContext.xml</param-value> 
</context-param>

7、 关于如何求hibernate分页的总记录数?

        如果数据库支持可滚动结果集的话可以用 (数据量小的话)

 
  1. ScrollableResults scrollableResults = query   
  2.         .scroll(ScrollMode.SCROLL_SENSITIVE);   
  3. // ScrollableResults scrollableResults = query.scroll();   
  4. // get the total elements number   
  5. scrollableResults.last();   
  6. this.totalElements = scrollableResults.getRowNumber() + 1

    或者 query.list().size();  

    如果数据量大的话则还是使用count(*)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值