hibernate入门的第一个例子
2012-07-13 21:11
375 查看
1、关于Hibernate
Hibernate:将对关系数据库的操作转换为面向对象的ORM框架。
ORM技术就是关系数据库的操作和面向对象操作相互转换的一种技术。
2、创建一个Hibernate的Java应用实例步骤:(有以下6个步骤)
(1)加载hibernate.jar包以及lib中为hibernate提供支持的jar包
(2)加载JDBC驱动包
(3)创建User类,包括三个属性:id(唯一标识),name(姓名),birthday(日期)
(4)为User类配置映射文件
(5)配置Hibernate的默认配置文件hibernate.cfg.xml
(6)编写主程序代码进行验证。
3、下面对上面的每一个步骤进行详细说明:
准备工作:在MySQL下创建数据库,数据库名为:bookdb. 即在MySQL命令行窗口中输入命令:
即可创建数据库bookdb。
(1) 加载hibernate.jar包以及lib中为hibernate提供支持的jar包。
做这一步的准备工作:百度下载hibernate3.2.0. 下载下来的文件夹hibernate3.2.0有文档:doc、配置文件:etc、例子程序:eg、jar包目录:lib等文件夹,还有hibernate3.jar驱动包,这个驱动包比较重要。
即在MyEclipse下新建java project,例如:工程名为hibernate。选中工程名,点击鼠标右键-->选择Properties-->选择Java Build Path-->Libraries-->Add External JARs导入文件夹hibernate3.2.0下lib下的所有jar包,然后-->Add External JARs-->导入文件夹hibernate3.2.0下的hibernate3.jar。
(2)加载JDBC驱动包
即下载连接MySQL的驱动jar包:mysql-connector-java-5.1.10-bin.jar。这里我的MySQL版本是5.1.55. MySQL驱动jar包和MySQL版本号前两个数字对应即可。 注:如何查看MySQL的版本?答:打开MySQL Command Line Client-->输入:select version();即可。
(3)创建User类,包括三个属性:id(唯一标识),name(姓名),birthday(日期)
即在源程序src下创建User类,包名为:com.hibernate.domain。以下为User类的源程序:
(4)为User类配置映射文件
以下为User.hbm.xml映射文件的xml代码:(注:User.hbm.xml文件也放在包com.hibernate.domain中)
注:标签hibernate-mapping的package属性指明User类所在的包名。 标签class的属性name为User的类名。 id唯一、自动增1,有两个属性,name为数据库中的字段名,分别为name和birthday。
(5)配置Hibernate的默认配置文件hibernate.cfg.xml
以下为hibernate.cfg.xml的xml代码,可参考目录hibernate-3.2\etc下的hibernate.properties配置文件:(注hibernate.cfg.xml文件存放在源程序src文件下)
(6)编写主程序代码进行验证。
在源程序src下新建Base类,包名为:com.hibernate。主程序Base类的代码如下所示:
4、运行Base类,点击运行。
Console控制台显示以下信息:
说明hibernate成功连接MySQL。
然后打开MySQL的命令行窗口输入:
输出信息:
id name birthday
1 fangjing 2012-07-13 21:14:30
注:birthday为当前日期。
Hibernate:将对关系数据库的操作转换为面向对象的ORM框架。
ORM技术就是关系数据库的操作和面向对象操作相互转换的一种技术。
2、创建一个Hibernate的Java应用实例步骤:(有以下6个步骤)
(1)加载hibernate.jar包以及lib中为hibernate提供支持的jar包
(2)加载JDBC驱动包
(3)创建User类,包括三个属性:id(唯一标识),name(姓名),birthday(日期)
(4)为User类配置映射文件
(5)配置Hibernate的默认配置文件hibernate.cfg.xml
(6)编写主程序代码进行验证。
3、下面对上面的每一个步骤进行详细说明:
准备工作:在MySQL下创建数据库,数据库名为:bookdb. 即在MySQL命令行窗口中输入命令:
create database bookdb;
即可创建数据库bookdb。
(1) 加载hibernate.jar包以及lib中为hibernate提供支持的jar包。
做这一步的准备工作:百度下载hibernate3.2.0. 下载下来的文件夹hibernate3.2.0有文档:doc、配置文件:etc、例子程序:eg、jar包目录:lib等文件夹,还有hibernate3.jar驱动包,这个驱动包比较重要。
即在MyEclipse下新建java project,例如:工程名为hibernate。选中工程名,点击鼠标右键-->选择Properties-->选择Java Build Path-->Libraries-->Add External JARs导入文件夹hibernate3.2.0下lib下的所有jar包,然后-->Add External JARs-->导入文件夹hibernate3.2.0下的hibernate3.jar。
(2)加载JDBC驱动包
即下载连接MySQL的驱动jar包:mysql-connector-java-5.1.10-bin.jar。这里我的MySQL版本是5.1.55. MySQL驱动jar包和MySQL版本号前两个数字对应即可。 注:如何查看MySQL的版本?答:打开MySQL Command Line Client-->输入:select version();即可。
(3)创建User类,包括三个属性:id(唯一标识),name(姓名),birthday(日期)
即在源程序src下创建User类,包名为:com.hibernate.domain。以下为User类的源程序:
package com.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; } }
(4)为User类配置映射文件
以下为User.hbm.xml映射文件的xml代码:(注:User.hbm.xml文件也放在包com.hibernate.domain中)
<?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="com.hibernate.domain"> <class name="User"> <id name="id"> <generator class="native"/> </id> <property name="name"/> <property name="birthday"/> </class> </hibernate-mapping>
注:标签hibernate-mapping的package属性指明User类所在的包名。 标签class的属性name为User的类名。 id唯一、自动增1,有两个属性,name为数据库中的字段名,分别为name和birthday。
(5)配置Hibernate的默认配置文件hibernate.cfg.xml
以下为hibernate.cfg.xml的xml代码,可参考目录hibernate-3.2\etc下的hibernate.properties配置文件:(注hibernate.cfg.xml文件存放在源程序src文件下)
<!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="connection.driver_class"> com.mysql.jdbc.Driver </property> <!-- 连接数据库的URL --> <!--property name="connection.url"> jdbc:mysql://localhost:3306/bookdb </property--> <!-- 以下省略localhost、端口号和上面的效果一样 --> <property name="connection.url"> jdbc:mysql:///bookdb </property> <!-- 连接数据库的用户名 --> <property name="connection.username"> root </property> <!-- 连接数据库的密码 --> <property name="connection.password"> 123 </property> <!-- 指定数据库方言 --> <property name="dialect"> org.hibernate.dialect.MySQLDialect </property> <!-- 控制台显示SQL语句 --> <property name="show_sql"> true </property> <!-- 根据需要自动创建数据表 --> <!-- 不新建表也不删除表,只更新表中的数据 ,如下:--> <property name="hbm2ddl.auto">update</property> <!-- 在应用运行以前创建一张表,在应用运行之后把表删除,推荐在测试中使用,如下: --> <!--property name="hbm2ddl.auto">create-drop</property--> <!-- 在应用运行以前创建一张表,但是在应用运行之后不会把表删除,推荐在测试中使用 ,如下 --> <!--property name="hbm2ddl.auto">create</property--> <!-- 罗列所有的映射文件 --> <mapping resource="com/hibernate/domain/User.hbm.xml"/> </session-factory> </hibernate-configuration>
(6)编写主程序代码进行验证。
在源程序src下新建Base类,包名为:com.hibernate。主程序Base类的代码如下所示:
package com.hibernate; import java.util.Date; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import com.hibernate.domain.User; public class Base { /** * @param args */ public static void main(String[] args) { //初始化,目的是为了获得SesionFactory对象 Configuration c=new Configuration(); c.configure(); //用SesionFactory工厂生产session,而且SesionFactory对应jdbc连接数据库时的DriverManager //session对应jdbc连接数据库时的Connection SessionFactory sf=c.buildSessionFactory(); Session s=sf.openSession(); //hibernate需要手动提交事务 Transaction t=s.beginTransaction(); User u=new User(); u.setName("fangjing"); u.setBirthday(new Date()); //保存User对象 s.save(u); t.commit(); //关闭session,在事务提交后关闭session s.close(); System.out.println("end"); } }
4、运行Base类,点击运行。
Console控制台显示以下信息:
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment). log4j:WARN Please initialize the log4j system properly. Hibernate: insert into User (name, birthday) values (?, ?) end
说明hibernate成功连接MySQL。
然后打开MySQL的命令行窗口输入:
use bookdb; select * from user;
输出信息:
id name birthday
1 fangjing 2012-07-13 21:14:30
注:birthday为当前日期。
相关文章推荐
- Hibernate学习笔记--第一篇 初学入门第一个例子
- hibernate入门之环境准备,以及第一个例子。
- Hibernate入门学习(3)----第一个Hibernate例子
- Hibernate入门篇(三)——编写第一个Hibernate例子
- Hibernate 入门第四课 第一个小例子
- Hibernate入门1 - Hibernate概述及第一个小例子
- 一个简单的Struts Hibernate入门例子(下)
- JPA入门例子(采用JPA的hibernate实现版本) 转
- JPA入门例子(采用JPA的hibernate实现版本) --- 会伴随 配置文件:persistence.xml
- 入门例子:myeclipse开发hibernate(SQLServer)
- Java事务处理全解析(八)——分布式事务入门例子(Spring+JTA+Atomikos+Hibernate+JMS)
- 【hibernate】我的第一个小例子
- Hibernate第一个例子
- 【01】框架学习—Hibernate第一个入门案例
- Hibernate入门02 - 第一个Hibernate程序
- java事务全解析(八)--分布式事务入门例子(Spring+JTA+Atomikos+Hibernate+JMS
- 编写第一个Hibernate例子
- JPA入门例子(采用JPA的hibernate实现版本)
- dubbo的第一个入门的例子
- JPA入门例子(采用JPA的hibernate实现版本)