以数据库中有一张user表为例:

1.编写POJO持久化类User.java
POJO(Plain Old Java Objects),简单的Java对象。一个POJO类不用继承任何类,也无须实现任何接口。POJO类中的属性与表中的字段相对应,每个属性都有get和set方法,这里POJO还必须要有一个无参的构造方法,供Hibernate调用。

2.编写映射文件User.hbm.xml
一般将这个文件与持久化类User.java放至同一个包org.hibernate.entity中。

3.编写hibernate.cfg.xml配置文件
这个文件一般存放在WEB-INF/classes目录下,在myeclipse中的package explorer视图下是隐藏的,需要使用Navigator视图才能显示。

4.编写工具类HibernateUtil.java
HibernateUtil.java基本体现的了Hibernate的工作原理。
第一次对着书上敲的时候发现有个方法被打了红线,百度之后发现我用的是hibernate4的jar,这个方法已经被废除,又改回hibernate3的jar。接着下面的rebuildSessionFactory方法中一直显示红叉,原因是configuration和"/hibernate.cfg.xml"出错,看到一篇网上hibernate4中HibernateSessionFactory类的写法后,将这两个一个定义为静态对象,一个定义为字符串变量,修改后没有错误。这里书上应该是写错了或者没写全。

5.编写DAO接口UserDAO.java
《Thinking in Java》 1.2--每个对象都有一个接口 可以一看

6.编写DAO实现类UserDAOImpl.java
这里文中加了一个DAO工厂类,有点理解,这里有更为详细的解释。
http://www.cnblogs.com/leihupqrst/p/3663452.html

7.编写测试类UserTest.java
使用Junit进行测试。在测试的时候发现进度条一直为红色,原因是因为缺包。开始我的lib里面只有hibernate3.jar一个包,后来经过百度陆陆续续添加了dom4j.jar等9个包,之后报错说找不到hibernate.cfg.xml文件,然后去目录下看这个文件的确消失了(难道是我将src下的包名更换了导致的?),之后又重新写了一遍,测试,成功。

Hibernate项目的基本步骤和一些错误提示的更多相关文章

  1. 创建Maven项目时,出现系列的错误提示的修改方法

    1.创建Maven项目成功之后,需要修改一些配置, (1).java版本改为“本系统中java的版本号” 问题一:(2).Dynamic Web Module的version要改为2.5以上,然而本人 ...

  2. 根据数据库的表生成项目,项目变为hibernate项目(实际开发中常用)

    1.  选择模式为Myeclipse Database Explorer perpective 2. (1)右键建立mysql模板,选择默认的mysql模板 (2)drive name (任意这里取m ...

  3. intellj(idea) 编译项目时在warnings 页签框里 报 “xxx包不存在” 或 “找不到符号” 或 “未结束的字符串字面值” 或 “需要)” 或 “需要;”等错误提示

    如上图: 环境 是 刚换的系统,重装的Intellj,直接双击老的皇帝项目中的idea的 .iml文件,结果 打开 intellj 后,进行 ctrl +shift +F9 编译时 尽然报 错误提示, ...

  4. spring+hibernate项目demo搭建

    之前用maven+spring+mybatis+spring mvc搭建了一个web项目,用于学习spring及相关知识,现在打算将mybatis换成hibernate,一样搭建一个框架. 其实myb ...

  5. IDEA 下新建 Hibernate 项目

    Hibernate 概述 什么是 Hibernate 一个 Java 领域的持久化框架 一个 Java 领域的ORM 框架 什么是持久化 持久化是指把对象永久保存到数据库中 持久化包括和数据库相关的各 ...

  6. SSH项目整合基本步骤

    SSH项目整合基本步骤 一.项目简介 该项目是由Spring4.Struts2 以及 Hibernate4 整合搭建的 web 项目,把Action分开编写,便于查看,使用JSTL.EL标签. 二.项 ...

  7. 使用eclipse逆向工程开发hibernate项目

    在项目设计时,要么根据需求分析建立实体类,然后正向生成数据库表:要么先进行数据库表设计,然后逆向生成实体类.也就是说,不会完成一方的设计后再花时间去匹配建立另一方,这么做的原因是: 1.如果不使用正向 ...

  8. 坑爹的Hibernate 映射文件错误提示org.xml.sax.SAXParseException

    今天整整一个上午都在和hibernate做斗争,早上一来,继续昨天的项目开发,发现spring项目不能启动,从错误中看是hibernate错误,多半是hibernate配置有错误,关键是错误提示中显示 ...

  9. 通过myclipse建立一个简单的Hibernate项目(PS:在单元测试中实现数据的向表的插入)

    Hibernate的主要功能及用法: Ⅰ.Hibernate封装了JDBC,使Java程序员能够以面向对象的思想对数据库进行操作 Ⅱ.Hibernate可以应用于EJB的J2EE架构,完成数据的持久化 ...

随机推荐

  1. 纪中10日T1 2300. 【noip普及组第一题】模板题

    2300. [noip普及组第一题]模板题 (File IO): input:template.in output:template.out 时间限制: 1000 ms  空间限制: 262144 K ...

  2. 09、const与extern在一起跨文件引用

    const与extern都属于属性一类. 两者加一起用需要注意的一点是,在多文件编译中,加入我们共用一个全局常量.一般的定义会是这样: A.cpp文件 const int gg_int = 100; ...

  3. laravel orWhere

    场景描述 需要根据商品分类.商品名称和条形码这三个查询条件去取出结果集,这三者的关系是:商品分类 and (商品名称 or 条形码) 错误尝试 第一次写出来的代码是这样的: $goodsModel = ...

  4. WebGL_0002:palycanvas 配置文件路径

    playcanvas 配置文件路径https://s3-eu-west-1.amazonaws.com/apps.playcanvas.com/wmSPTNhb/config.jsonsence 地址 ...

  5. idea 代码没有被svn控制

    背景 开发从svn上拉下来的代码,上传时发现idea的快捷键(ctrl+T)没反应以及菜单栏中没有相关按钮. 原因 发现项目当前文件夹里没有 .svn 隐藏文件夹,所以当前文件夹就没有被idea识别继 ...

  6. 关于Hosts与network的异同之处

    1.hosts文件,路径:/etc/hosts,此文间是在网络上使用的,用于解析计算机名称和IP地址的映射关系,功能相当于windows下面的c:\windows\system32\drivers\e ...

  7. densenet思路 以及和残差网络区别,pytorch实现

    densenet思路 以及和残差网络区别,pytorch实现 待办 densenet思路以及和残差网络区别.以及densenet的pytorch实现 https://zhuanlan.zhihu.co ...

  8. 获取URL地址参数方法

    //获取url参数 getQueryVariable(variable){ var query =decodeURIComponent(window.location.search.substring ...

  9. Pikachu-File Inclusion(文件包含漏洞)

    File Inclusion(文件包含漏洞)概述 文件包含,是一个功能.在各种开发语言中都提供了内置的文件包含函数,其可以使开发人员在一个代码文件中直接包含(引入)另外一个代码文件. 比如 在PHP中 ...

  10. C# LINQ学习笔记二:LINQ标准查询操作概述

    本笔记摘抄自:https://www.cnblogs.com/liqingwen/p/5801249.html,记录一下学习过程以备后续查用. “标准查询运算符”是组成语言集成查询 (LINQ) 模式 ...