Hibernate --Hibernate的入门体验
2013-03-06 17:16
281 查看
1,为什么引入Hibernate?
A,模型不匹配(阻抗不匹配)
Java是面向对象的语言,使用的是对象模型,其主要的概念有:继承、关联、多态等;
现在大多数的数据库都是关系型数据库,其主要的概念有:表,主键,外键等。
B,解决的办法
1,使用JDBC手工转换,
2,使用ORM(ObjectRelationMapping对象关系映射)框架来解决这些问题,主流的ORMHibernate,TopLink,OJB等。
小小demo:
User.java
User.hbm.xml:
hibernate.cfg.xml:
A,模型不匹配(阻抗不匹配)
Java是面向对象的语言,使用的是对象模型,其主要的概念有:继承、关联、多态等;
现在大多数的数据库都是关系型数据库,其主要的概念有:表,主键,外键等。
B,解决的办法
1,使用JDBC手工转换,
2,使用ORM(ObjectRelationMapping对象关系映射)框架来解决这些问题,主流的ORMHibernate,TopLink,OJB等。
小小demo:
User.java
packagecom.hfxt.domian; publicclassUser{ privateintid; privateStringname; privateStringpass; publicintgetId(){ returnid; } publicvoidsetId(intid){ this.id=id; } publicStringgetName(){ returnname; } publicvoidsetName(Stringname){ this.name=name; } publicStringgetPass(){ returnpass; } publicvoidsetPass(Stringpass){ this.pass=pass; } }
User.hbm.xml:
<?xmlversion="1.0"?> <!DOCTYPEhibernate-mappingPUBLIC "-//Hibernate/HibernateMappingDTD3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="com.hfxt.domian"> <classname="User"> <idname="id"> <generatorclass="native"/> </id> <propertyname="name"/> <propertyname="pass"/> </class> </hibernate-mapping>
hibernate.cfg.xml:
<!DOCTYPEhibernate-configurationPUBLIC "-//Hibernate/HibernateConfigurationDTD3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <propertyname="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <propertyname="hibernate.connection.url">jdbc:mysql:///testdemo</property> <propertyname="hibernate.connection.username">root</property> <propertyname="hibernate.connection.password">root</property> <propertyname="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <mappingresource="com/hfxt/domian/User.hbm.xml"/> </session-factory> </hibernate-configuration>
Test.java
packagecom.hfxt.test;
importorg.hibernate.Session;
importorg.hibernate.SessionFactory;
importorg.hibernate.cfg.Configuration;
importcom.hfxt.domian.User;
publicclassTest{
publicstaticvoidmain(String[]args){
Configurationcfg=newConfiguration();
cfg.configure();
SessionFactorysf=cfg.buildSessionFactory();
Sessions=sf.openSession();
Useruser=newUser();
user.setName("wangyong");
user.setPass("123");
s.save(user);
s.close();
System.out.println("end");
}
}
这里的后台使用的是mysql数据库
相关文章推荐
- hibernate入门体验--代码优化
- Hibernate入门体验
- hibernate之介绍与动手入门体验
- hibernate入门体验
- 笔记 01_传智播客hibernate教程_hibernate介绍与动手入门体验
- MyEclipse Hibernate 快速入门 中文版
- Hibernate第一天——入门和基本操作
- 史上最简单的Hibernate入门简介
- 开发者实验室体验之Linux基础入门
- hibernate(注解)入门实例
- 第 2 章 Hibernate入门
- Windows Azure AppFabric 入门教学系列 (六):Message Buffer之初体验
- Hibernate入门(一)
- Hibernate入门(二)配置元素学习
- Hibernate 简单入门
- 史上最简单的Hibernate入门简介
- hibernate 入门
- Hibernate 入门 使用Hibernate查询语言对数据库操作
- 定制安装RHEL5.txt D:\OK6410\国嵌Ok6410-2011共享版-2\课程1(嵌入式体验入门班)\第3天(Linux系统体验)\教学视频
- hibernate入门