小黑J2EE学习ing
我很会努力
BlogJava
首页
新随笔
联系
聚合
管理
随笔-21 评论-29 文章-0 trackbacks-0
小黑hibernate学习(一)
引入
模型不匹配(阻抗不匹配)
Java面向对象语言,对象模型,其主要概念有:继承、关联、多态等;
数据库是关系模型,其主要概念有:表、主键、外键等。
解决方法:
使用JDBC手工转换;
使用ORM(Object Relation Mapping对象关系映射)框架来解决,主流的ORM框架有Hibernate、TopLink、OJB。
安装配置
下载地址:
http://www.hibernate.org
,本学习课程采用3.2.5.
将下载目录/hibernate3.jar和/lib下的hibernate运行时必须得包加入到classpath中:antlr.jar cglib.jar asm.jar commons-collections.jar commons-logging.jar jta.jar dom4j.jar
配置文件hibernate.cfg.xml和hibernate.properties,XML和properties两种,这两个文件的作用一样,提供一个即可,推荐XML格式,下载目录/etc下是示例配置文件。
可以再配置文件指定:数据库的URL、用户名、密码、JDBC驱动类、方言等。
启动时Hibernate会在CLASSPATH里找这个配置文件。
映射文件(hbm.xml,对象模型和关系模型的映射)。在/eg目录下有完整的Hibernate示例。
快速开始小例子
新建一java工程 命名为hibernate。
新建一User类
package
cn.itcast.hibernate.domain;
import
java.util.Date ;
public
class
User
{
private
int
id ;
private
String name ;
private
Date birthday ;
public
int
getId()
{
return
id;
}
public
void
setId(
int
id)
{
this
.id
=
id;
}
public
String getName()
{
return
name;
}
public
void
setName(String name)
{
this
.name
=
name;
}
public
Date getBirthday()
{
return
birthday;
}
public
void
setBirthday(Date birthday)
{
this
.birthday
=
birthday;
}
}
导入hibernate相关的jar包,包括hibernate里面的所有包 以及MySQL数据库相应的驱动包
在
cn.itcast.hibernate.domain
下新建
User.hbm.xml
文件 代码如下
<?
xml version="1.0"
?>
<!
DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
>
<
hibernate-mapping
package
="cn.itcast.hibernate.domain"
>
<
class
name
="User"
>
<
id
name
="id"
>
<
generator
class
="native"
/>
</
id
>
<
property
name
="name"
/>
<
property
name
="birthday"
/>
</
class
>
</
hibernate-mapping
>
在src下新建
hibernate.cfg.xml
文件 代码如下
<!
DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"
>
<
hibernate-configuration
>
<
session-factory
>
<
property
name
="hibernate.connection.driver_class"
>
com.mysql.jdbc.Driver
</
property
>
<
property
name
="connection.url"
>
jdbc:mysql:///test
</
property
>
<
property
name
="connection.username"
>
root
</
property
>
<
property
name
="connection.password"
>
root
</
property
>
<
property
name
="dialect"
>
org.hibernate.dialect.MySQLDialect
</
property
>
<
property
name
="connection.password"
>
root
</
property
>
<
property
name
="hbm2ddl.auto"
>
create
</
property
>
<
mapping
resource
="cn/itcast/hibernate/domain/User.hbm.xml"
/>
</
session-factory
>
</
hibernate-configuration
>
在
cn.itcast.hibernate
包下新建 类Base类 代码如下
package
cn.itcast.hibernate;
import
java.util.Date;
import
org.hibernate.Session;
import
org.hibernate.SessionFactory;
import
org.hibernate.cfg.Configuration;
import
cn.itcast.hibernate.domain.User;
import
org.hibernate.Transaction;
public
class
Base
{
public
static
void
main(String[] args)
{
Configuration cfg
=
new
Configuration() ;
cfg.configure();
SessionFactory sf
=
cfg.buildSessionFactory();
Session s
=
sf.openSession();
Transaction tx
=
s.beginTransaction();
User user
=
new
User();
user.setBirthday(
new
Date());
user.setName(
"
name
"
);
s.save(user);
tx.commit();
s.clear();
System.out.println(
"
end
"
);
}
}
运行 Base类 查看数据库 证明第一个hibernate程序运行成功!
大概用了一个下午才运行出这个程序,不大习惯用MYSQL这个数据库,搞得头都大了!今天草草结束这个实例,明天再好好分析一下!
本案例代码
hibernatefile
posted on 2009-05-03 15:47
特立独行
阅读(419)
评论(0)
编辑
收藏
所属分类:
Hibernate框架
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
相关文章:
小黑Hibernate学习(六)
小黑Hibernate学习(五)
小黑Hibernate学习(四)
小黑Hibernate学习(三) Session接口及get、load、persist方法
小黑hibernate学习(二)
小黑hibernate学习(一)
小黑J2EE学习之路 欢迎大家观临! 希望大家能多指教哦!
<
2024年11月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(2)
给我留言
查看公开留言
查看私人留言
随笔分类
Hibernate框架(6)
J2EE核心技术(1)
Java 技术
Java面试题
Spring框架(5)
Struts框架(7)
数据库
随笔档案
2010年6月 (2)
2009年6月 (1)
2009年5月 (17)
2009年4月 (1)
搜索
最新评论
1. re: struts2实现文件上传和下载[未登录]
下载做来直接就在页面把文件打开了。。
--小菜
2. re: struts2实现文件上传和下载
你这代码量有点多,STRUTS2封装好了,顶多15行搞定
--你这代码量有点多
3. re: struts2实现文件上传和下载
怎么将上传的东西在页面上显示出来啊
--边城
4. re: struts2实现文件上传和下载
配置的文件 有关键字, 把action 中的name 换下就可以了 @陈
--采用
5. re: struts2实现文件上传和下载
大侠 ……怎么实现点一个文件下载一个文件,而不是固定的文件?
--pppppppppp
阅读排行榜
1. struts2实现文件上传和下载(17506)
2. 小黑struts学习(五) Action Mapping、ActionForward和ActionForm组件学习(1586)
3. 小黑Hibernate学习(三) Session接口及get、load、persist方法(1004)
4. ASSH框架的技术基础和设计(754)
5. Spring 框架的设计理念与设计模式分析(645)
评论排行榜
1. struts2实现文件上传和下载(27)
2. Spring 框架的设计理念与设计模式分析(1)
3. 很开心加入BlogJava 就像找到了组织一样(1)
4. Spring 框架的设计理念与设计模式分析(2)(0)
5. JFreeChart的中文乱码问题 知道的帮忙解决一下(0)