Hibernate项目的基本步骤和一些错误提示
以数据库中有一张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项目的基本步骤和一些错误提示的更多相关文章
- 创建Maven项目时,出现系列的错误提示的修改方法
1.创建Maven项目成功之后,需要修改一些配置, (1).java版本改为“本系统中java的版本号” 问题一:(2).Dynamic Web Module的version要改为2.5以上,然而本人 ...
- 根据数据库的表生成项目,项目变为hibernate项目(实际开发中常用)
1. 选择模式为Myeclipse Database Explorer perpective 2. (1)右键建立mysql模板,选择默认的mysql模板 (2)drive name (任意这里取m ...
- intellj(idea) 编译项目时在warnings 页签框里 报 “xxx包不存在” 或 “找不到符号” 或 “未结束的字符串字面值” 或 “需要)” 或 “需要;”等错误提示
如上图: 环境 是 刚换的系统,重装的Intellj,直接双击老的皇帝项目中的idea的 .iml文件,结果 打开 intellj 后,进行 ctrl +shift +F9 编译时 尽然报 错误提示, ...
- spring+hibernate项目demo搭建
之前用maven+spring+mybatis+spring mvc搭建了一个web项目,用于学习spring及相关知识,现在打算将mybatis换成hibernate,一样搭建一个框架. 其实myb ...
- IDEA 下新建 Hibernate 项目
Hibernate 概述 什么是 Hibernate 一个 Java 领域的持久化框架 一个 Java 领域的ORM 框架 什么是持久化 持久化是指把对象永久保存到数据库中 持久化包括和数据库相关的各 ...
- SSH项目整合基本步骤
SSH项目整合基本步骤 一.项目简介 该项目是由Spring4.Struts2 以及 Hibernate4 整合搭建的 web 项目,把Action分开编写,便于查看,使用JSTL.EL标签. 二.项 ...
- 使用eclipse逆向工程开发hibernate项目
在项目设计时,要么根据需求分析建立实体类,然后正向生成数据库表:要么先进行数据库表设计,然后逆向生成实体类.也就是说,不会完成一方的设计后再花时间去匹配建立另一方,这么做的原因是: 1.如果不使用正向 ...
- 坑爹的Hibernate 映射文件错误提示org.xml.sax.SAXParseException
今天整整一个上午都在和hibernate做斗争,早上一来,继续昨天的项目开发,发现spring项目不能启动,从错误中看是hibernate错误,多半是hibernate配置有错误,关键是错误提示中显示 ...
- 通过myclipse建立一个简单的Hibernate项目(PS:在单元测试中实现数据的向表的插入)
Hibernate的主要功能及用法: Ⅰ.Hibernate封装了JDBC,使Java程序员能够以面向对象的思想对数据库进行操作 Ⅱ.Hibernate可以应用于EJB的J2EE架构,完成数据的持久化 ...
随机推荐
- 数据结构(集合)学习之Map(一)
集合 框架关系图: 补充:HashTable父类是Dictionary,不是AbstractMap. Map: Map(接口)和Collection都属于集合,但是Map不是Collection的子类 ...
- 解决kbmMW Scheduler在任务中停止任务遇到的问题
procedure TCustomGridViewCameraDoc.InitSchedule; begin Scheduler.Schedule( procedure(const ASchedule ...
- 小白的java学习之路 “ 数组”
数组 一.什么是数组: 数组是一个变量,存储相同数据类型的一组数据 声明一个变量就是在内存空间划出一块合适的空间 声明一个数组就是在内存空间划出一串连续的空间 二.数组基本要素: 标识符:数组的名称, ...
- [译]C# 7系列,Part 10: Span<T> and universal memory management Span<T>和统一内存管理
原文:https://blogs.msdn.microsoft.com/mazhou/2018/03/25/c-7-series-part-10-spant-and-universal-memory- ...
- oracke数据库分区新增
1.发现一些过程执行报错,报错原因是'ora-14400插入的分区关键字未映射到任何分区',原来是2020年库表的时间子分区未扩展: 2.扩展子分区的语句是 ALTER TABLE 表名 MODIFY ...
- Bad Hair Day【单调栈】
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAzMAAANgCAIAAACX06G4AAAgAElEQVR4Aey9e5RlW13fuw40HORxfI ...
- 【Linux远程连接工具】Xshell、Xftp家庭/学生版(免费使用)
注:Xshell.Xftp家庭/学生版无需激活,可以免费使用! 1.步骤一: 官网下载地址:https://www.netsarang.com/zh/ 选择[所有下载]->[家庭/学校免费] ...
- OI学习之路上的宝藏网站/App分享
OI学习之路上的宝藏网站/App分享 想要变强吗少年?这里有各种我平时收集的网站/App,它们可以帮助你更好地学习算法或者找到解题思路.废话不多说,快来打开新世界的大门罢~ 知识学习 觉得各种知识晦涩 ...
- react-native构建基本页面4---渲染电影列表
电影列表 import React, { Component } from 'react' import { View, Image, Text, ActivityIndicator, FlatLis ...
- react-父子子孙组件嵌套-context
方案一 import React from 'react' import ReactTypes from 'prop-types' /* // 最外层的父组件 export default class ...