以数据库中有一张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. 【37】池化层讲解(Pooling layers)

    池化层(Pooling layers) 除了卷积层,卷积网络也经常使用池化层来缩减模型的大小,提高计算速度,同时提高所提取特征的鲁棒性,我们来看一下.   先举一个池化层的例子,然后我们再讨论池化层的 ...

  2. k8s 在Centos上 安装

    k8s安装步骤: 1.所有机器上执行以下命令,准备安装环境:(注意是所有机器,主机master,从机node都要安装) 1.1.安装epel-release源(EPEL (Extra Packages ...

  3. phpcms v9全站点击量排行代码

    前台: <ul> {pc:content action="sitehits" siteid="1" num="10" order ...

  4. TTradmin v2.1 【2019年12月12日更新】简单好用的临时远程协助软件

        TTradmin 是一款免端口映射可直接穿透任何内网,基于VNC核心的即时远程协助软件.在使用的时候只需要保证“协助端”和“被协助端”使用同一个验证码即可实现安全便捷的远程控制,不需要进入路由 ...

  5. python ide 使用

    pycharm jupyter 官方文档 使用 部署到服务器 参考 配置域名(反向代理) *.conf文件 server { listen ; server_name ju.iii.top; inde ...

  6. STL函数 lower_bound 和 upper_bound 在算法竞赛中的用法

    以前比较排斥这两个函数,遇到需要二分的情景都是手写 \(while(left<=right)\). 这次决定洗心革面记录一下这两个函数的在算法竞赛中的用法,毕竟一般不会导致TLE. 其实百度百科 ...

  7. java流程控制结构

    一.流程控制分三类 1. 顺序结构 - 程序是从上往下,从左往右执行 2. 选择结构(判断结构) - if语句 A. if(关系表达式){语句体} - 执行流程:成立就执行语句体,不成立就不执行 B. ...

  8. 题解【POJ1062】昂贵的聘礼

    题面 比较复杂的最短路模型转换. 我们考虑一种建图方式: 建立一个超级源点 \(S\),它向每一个节点连一条权值为那一个节点物品价值的边,表示直接购买那一个物品: 对于每一个节点,由它每一个可用的替代 ...

  9. php 爬虫采集

    概述 现在爬虫技术算是一个普遍的技术了,各个语言的爬虫百家争鸣,但是根据笔者自己的感觉还是python是主流.爬虫涉及到太多的东西,笔者并不是专业的爬虫工程师,只不过个人兴趣分享一下.由于笔者是php ...

  10. 2019.2.21 T2题解

    meet 大概思路就是 , 找出相交的路径 , 判断方向 , 分类讨论.. 假设已经找出了相交路径 ... 若方向相同 , 则找到相交路径上边权的最大值 , 若最大值>出发时间差 , 则可行. ...