MyEclipse环境下Hibernate入门实例

 首先在MyEclipse下创建一个WebProject,项目命名为demo,然后【MyEclipse->project capablities->add hibernate capabilities】,跟着向导操作,最后会生成一个hibernate.cfg.xml和一个HibernateSessionFactory.java文件。在向导中要求填写一些数据库连接的配置信息以及HibernateSessionFactory存放的包,配置信息我们可以参考下面的hibernate.cfg.xml来填写,而HibernateSessionFactory我们放在com.demo.hibernate.util这个包里面。

1.HibernateSessionFactory.java

MyEclipse环境下Hibernate入门实例View Code

2.hibernate.cfg.xml(在src目录下)

MyEclipse环境下Hibernate入门实例View Code

3.创建数据库

在MySql中创建一个名为demo的数据库,然后将下面的代码另存为“*.sql”文件,再将该文件导入数据库。当然也可直接通过类似navicat的数据库UI来创建数据库。

MyEclipse环境下Hibernate入门实例
DROP TABLE IF EXISTS `user`; 
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(50) DEFAULT NULL,
`password` varchar(50) DEFAULT NULL,
`email` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
MyEclipse环境下Hibernate入门实例

4. *.hbm.xml映射文件

我们知道Hibernate是用户将对象与数据库表进行映射,那么下面编写映射文件:User.hbm.xml(在com.demo.hibernate.beans包中),从代码中我们可以看到name与column属性,name表示User类中的属性,column表示数据库表user中的字段名称。类中的属性和表中的字段可以不相同,如果相同的话column可以省略。比如下面的column="username" column="password" 可以省略不写。像<property name="email" /> 一样。

MyEclipse环境下Hibernate入门实例View Code

5.编写持久化类User.java,

这里我们不一定要求User类中的属性与表user的字段相同,不过如果相同则可以省去一些步骤,就是前面提到的*.hbm.xml文件中的一些字段可以省略。

MyEclipse环境下Hibernate入门实例View Code

6.编写DAO类UserDAO.java

DAO就是Database Access Objects,数据访问对象的英文缩写。顾名思义对数据库操作的方法都写在这个类中,就比如代码中getUser()方法就是需要读取数据库信息。不过hibernate因为通过映射的方法不直接使用SQL语句操纵数据库,而是引入了HQL语言。最明显的一点是:

  Query query=session.createQuery("from User where username=?");

这里from User中的User是指User类而不是user表,HQL直接对对象操作。

MyEclipse环境下Hibernate入门实例View Code

7.编写Service类并运行(含有主函数的类)

MyEclipse环境下Hibernate入门实例View Code

8.显示结果:

log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
验证结果:true

 

 

本文转自xwdreamer博客园博客,原文链接:http://www.cnblogs.com/xwdreamer/archive/2010/09/23/2297087.html,如需转载请自行联系原作者



上一篇:学习 spring-boot (一)


下一篇:Redis自学笔记 --Hash、List、Set类型简述