其实网上已经有很多Hibernate入门的例子了,但对许多新手来说在没有老师指导的情况下入门还是很不容易的,原因大概是手工写代码比较容易出错,而使用插件又容易关联一些东西,我入门的时候也是碰了好多钉子才成功运行出一个helloworld的。
所以希望各位新手在helloworld没有成功的情况下,不要轻易说放弃,坚持就是胜利,人人都是这样走过来的。
今天我突然想自己写一篇教程,尽可能的详细介绍下最简单的Hibernate环境的搭建。让各位新手少走一些弯路。
在此我也先声明一下,这篇文章是写给新手看的(当然高手们想看看也是不收费的),我自己也不算什么高手,但我又非常爱面子,所以请老程序员们千万键盘下留情,如有觉得本文不妥的地方,请联系我Gmail: chenjinbo123@gmail.com 私下告诉我就好了。
言归正传,开始,
环境:
IDE: MyEclipse(java开发最好用的工具了).
数据库: Mysql(比较轻量,图形化工具使用比较简单)。
至于这两个东西怎么安装限于篇幅我就不介绍了。 Baidu一下或者google一下,到处都是。
建立数据库和表:
一条一条执行以下Mysql命令:
drop database if exists test;
create database test;
use test;
create table hibernateDemo(
id int(10) not null auto_increment primary key,
content varchar(50)
);
insert into hibernateDemo(content) values('hello world');
搭建MyEclipse DB连接:
1)单击MyEclipse菜单栏Window->Open perspective->MyEclipse Database Explorer.
出现Database Explorer的布局。
2) 右键左侧DB browser空白处-> new. 弹出 Database profile对话框。
3)profile name处填写: “test” 。
4)单击Configure database Driver 。出现Perferences(Filtered)对话框。
5)单击New出现 New Driver对话框。
6)Driver template选择“MySQL Connector/J”, connection Url 填“ jdbc:mysql://localhost:3306/test”
7)单击add jars: 加入 mysql-connector-java-5.0.4-bin.jar。
8)Driver class name填写:com.mysql.jdbc.Driver ,单击ok
9)回到Perferences(Filtered)对话框,选择刚才new出来的“MySQL Connector/J” 单击ok。
10)回到Database profile对话框,Driver选择刚才配置好的 “MySQL Connector/J”。
url处填写: jdbc:mysql://localhost:3306/test
下面填写你的mysql username和password。
勾上save password选项
11)单击Finish。
搭建工程:
1)MyEclipse下 单击菜单栏Window->Open perspective->MyEclipse J2EE development.
回到J2EE 工程布局。
2) 新建工程-> Tomcat工程,->填写工程名(HibernateDemo),完成。生成了名为“HibernateDemo”的工程
.在此工程的WEB-INF/src下新建个包,名为model.
3)右键单击HibernateDemo工程->MyEclipse->Add Hibernate capabilities ,弹出New Hibernate Project对话框,
在Hibernate Specification选择 Hibernate 3.1。
Select myEclipse/UserLibraries 里面按默认配置。
Jar Library Installation里选择 Copy Checked Library Jars to Project folder and add to bulid path选项.
点Library folder选项后面的Broswer,
选择工程里面的WEB-INF下的lib目录。
点OK。
点Next,
默认配置再点Next.
DB Profile选择刚才配置好的"test",下面的URL和Driver class 会自动填好。
在下面的Username 和password填上 你的mysql的用户名和密码。
dialect选择“mysql".
点NEXT.
4) 点Java package后面的new . 出现对话框New Java package.
name处填写dao。点Finish。
5)回到new hibernate project对话框点fininsh。
根据数据库表生成对象和DAO类。
1)单击MyEclipse菜单栏Window->Open perspective->MyEclipse Database Explorer.
出现Database Explorer的布局。
2)左侧DB Browser处选择前面配置好的test 右键点击->Open connection..
依次展开test——>connected to test ->test -> table ,table下面出现了hibernatedemo表。
3)右键单击hibernatedemo-> Hibernate reverse Engineering.出现该对话框。
4)在Java src folder后面点击Browser,在新对话框选择/Hibernatedemo/WEB-INF/src文件夹点确定。
java package处 填写 model。
下面的复选框全勾上(除了use custom templates),Dao type选择BasicDAO
直接单击Finish。
到此,最基本的配置Hibernate算是完成了。打字好累啊。
下面写个程序测试以下Helloworld能不能成功。
1)在hibernatedemo工程下新建一个test包, test包下面新建一个TestHibernate类。
内容如下填上:
package test;
import org.hibernate.Session;
import org.hibernate.Transaction;
//import operate.HibernateSessionFactory;
import model.Hibernatedemo;
import model.HibernatedemoDAO;
public class TestHibernate {
Session session = null;
Transaction tx = null;
public static void main(String[] args) {
Hibernatedemo hd = new Hibernatedemo();
HibernatedemoDAO dao= new HibernatedemoDAO();
hd = dao.findById(1);
System.out.println(hd.getContent());
}
}
保存,运行下,
出现以下结果:
log4j:WARN No appenders could be found for logger (model.HibernatedemoDAO).
log4j:WARN Please initialize the log4j system properly.
hello world。
这算是一半成功了,但上面两个警告是什么意思?哦, 是log4j忘了配置了。
在WEB-INF/src 目录下新建一个文件,取名”log4j.properties” ,
内容填上:
log4j.rootLogger=DEBUG,stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %5p (%F:%L) - %m%n
保存,再运行刚才的TestHibernate类。
出现以下结果:
2007-11-07 14:33:27,515 DEBUG (HibernatedemoDAO.java:46) - getting Hibernatedemo instance with id: 1
2007-11-07 14:33:27,609 INFO (Environment.java:479) - Hibernate 3.1.3
2007-11-07 14:33:27,625 INFO (Environment.java:509) - hibernate.properties not found
2007-11-07 14:33:27,625 INFO (Environment.java:525) - using CGLIB reflection optimizer
2007-11-07 14:33:27,625 INFO (Environment.java:555) - using JDK 1.4 java.sql.Timestamp handling。
(中间日志省略)
2007-11-07 14:33:30,328 DEBUG (DriverManagerConnectionProvider.java:129) - returning connection to pool, pool size: 1
hello mysql
恩,全是白色的字体耶!
那就是成功了哦! 举杯欢腾一下吧(要不要开个Party庆祝一下)。 好了,HelloWorld到此就算完了,Hibernate要学的东西还有很多呢,慢慢熬吧, 呵呵。
我打字好累啊, 如发现我的文章有错误或其他问题,可以联系我Gmail: chenjinbo123@gmail.com
转载请注明出自:jinbochen.blogspot.com,谢谢各位站长!
Hibernate 入门体会
最新推荐文章于 2024-11-15 16:27:37 发布