关于数据库与Hibernate匹配时的小问题

今天做了一个小程序,jsp输入一些字段,action中将这些字段放到list中,然后从数据库get到那列数据,同样放到另一个list中,然后进行值相等的判断,就是这么简单的一个程序。
但因为很久没碰Hibernate了,所以执行起来有些坎坷。列出如下问题:

  1. 空指针异常频发,这是因为在vo类中,没有指定与数据库列的映射;
  2. 关键字问题:我之前设定的列名有叫values的,但一直不通过,最后发现问题所在。
  3. 关于list的空指针问题,这个是发生比较多的。一个是没有实例化,这是基础知识的问题。第二个我觉得也是发生情况比较多的,就是在使用前判断非空。
  4. web.xml配置:这个从前两天就一直困扰我。我觉得出现问题原因最多的是因为tomcat不干净,清理下就可以了。另外比较重要的:就是jsp中使用struts标签,但tomcat运行至首页时报错。查看了很多方法,最后发现问题是web.xml中应该写如下代码:

    <filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping>
    我之前一直都是*.action,两个都存在也可以。

  5. 如果想要让jsp上显示之前action中的变量的话,在action中一定要写get、set方法~

目前是这样。

关于数据库与Hibernate匹配时的小问题

时间: 2024-12-29 01:58:29

关于数据库与Hibernate匹配时的小问题的相关文章

java.sql.date与java.util.date区别以及数据库中插入带时分秒的时间

java.sql.Date,java.sql.Time和java.sql.Timestamp三个都是java.util.Date的子类(包装类). java.sql.Date是java.util.Date的子类,是一个包装了毫秒值的瘦包装器,允许 JDBC 将毫秒值标识为 SQL DATE 值.毫秒值表示自 1970 年 1 月 1 日 00:00:00 GMT 以来经过的毫秒数. 为了与 SQL DATE 的定义一致,由 java.sql.Date 实例包装的毫秒值必须通过将时间.分钟.秒和毫

hibernate+mysql时,会出现事物不管用

hibernate+mysql时,会出现事物不管用(transation.rollback();没效果,数据在session.flush后直接进行了数据库操作) 很可能出现的问题是在mysql上..., 在/etc/my.cnf中[mysqld]下加上default-storage-engine=InnoDB ,效果是使用InnoDB引擎 show engines;命令可以查看当前使用的是什么数据库引擎

数据库的Schema发生改变时是多么痛苦的事情

整天跟数据库打交道的程序员都知道,当数据库的Schema发生改变时是多么痛苦的事情.尤其是一个在不断开发完善的项目,随着需求变化,数据库的schema也会跟着变化,而追踪记录这些变化一向都是费时费力.如果你拥有多个测试环境,那么保证这些环境下的数据库的一致性的难度会成倍增加. Flyway,一款小工具,应用它能够大大简化这方面的工作. 它的优点: convention over configuration,配置简单,使用方便:支持Sql及Java配置: 支持当前几乎所有的主流数据库: 拥有命令行

hibernate 增删改查小测试

好久没有敲过了,来熟悉下hibernate,做了个小测试. 测试项目结构图,关于导入jar包,可以参考 http://zhuws.blog.51cto.com/11134439/1932652 2.hibernate.cfg.xml 配置 <!DOCTYPE hibernate-configuration PUBLIC         "-//Hibernate/Hibernate Configuration DTD 3.0//EN"         "http://w

JavaSE7基础 论 在嵌套使用三目运算符时,小括号 与 代码格式 的重要意义

jdk版本  :jdk-7u72-windows-i586系统     :Windows7编辑器   :Notepad++ v7.4.2注意事项 :博文内容仅供参考,不可用于其他用途. 1代码 class Demo{ public static void main(String[] args){ int max=0; int num1=1; int num2=2; int num3=3; max=(num1 > num2) ?((num1>num3)? num1 : num3) :((num2

把数据保存到数据库附加表 `dede_addonarticle` 时出错,请把相关信息提交给DedeCms

把数据保存到数据库附加表 `dede_addonarticle` 时出错,请把相关信息提交给DedeCms官方.Duplicate entry '2′ for key 'PRIMARY' 你的主键是不可重复的,现在重复插入值为3的主键了.可以去掉主键唯一,或是设成自增加.就不会出现这种情况了. 具体操作: 进入后台,"系统" - "系统设置" - "SQL命令行工具" 运行SQL命令行: alter table dede_addonarticle

数据库资源消耗高时两条简单管用、快速找出可能问题原因的SQL语句

1.  查看正在执行的SQL语句 (1)SQL语句: selectdistinct s.sid,s.sql_id,s.event,s.program,s.MACHINE,q.sql_textfrom v$session s,v$sql q where s.sql_id=q.sql_idand s.status='ACTIVE'order by sql_text: (2)用途说明: 当数据库服务器负载高时,资源绝大部分的可能是被正在运行的SQL所消耗,查询到正在执行的SQL语句,是打开高消耗原因盒

mysql数据库导入sql文件时提示“Error Code: 1153 - Got a packet bigger than &#39;max_allowed_packet&#39; bytes”解决办法

向mysql数据库中导入sql文件时,如果文件过大(几百M),会提示"Error Code: 1153 - Got a packet bigger than 'max_allowed_packet' bytes" 1.查看目前数据库配置 show VARIABLES like '%max_allowed_packet%'; 显示如下结果 +--------------------+---------+ | Variable_name      | Value   | +--------

python 正则表达式 贪婪模式的简介和匹配时的几种模式

看到一篇文章,关于python正则的,http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html 贪婪模式与非贪婪模式: 正则表达式通常用于在文本中查找匹配的字符串.Python里数量词默认是贪婪的(在少数语言里也可能是默认非贪婪),总是尝试匹配尽可能多的字符:非贪婪的则相反,总是尝试匹配尽可能少的字符.例如:正则表达式"ab*"如果用于查找"abbbc",将找到"abbb".而如果使用