初探Hibernate
来源:互联网 发布:软件项目进度管理工具 编辑:程序博客网 时间:2024/06/05 12:43
刚接触hibernate,以一个小例子,来看看如何搭建hibernate开发环境,如何以面向对象的开发方式来达到与数据库交互的效果。
先看看例子最终的目录结构:
下面是具体步骤:
1、创建一个普通的java项目。
2、创建用户库,并添加hibernate的jar文件,jar文件包括目录hibernate-3.2\lib下的所有jar文件和hibernate-3.2目录下的hibernate3.jar文件。
由于我们的项目要使用mySql数据库,所以这里加入mysql的jar文件。
3、将用户库引入项目。第二步我们创建了用户库,但是我们的项目还不知道,所以我们必须将用户库引入项目。
4、将hibernate-3.2\etc目录下的hibernate.cfg.xml、log4j.properties文件拷到项目的src目录下。
到此为止,hibernate开发环境就基本上搭好了。接下来就看实例了。
新建java类User,代码如下:
package hibernate;import java.util.Date;public class User {private String id;private String userName;private String password;private Date createTime;private Date expireTime;public String getId() {return id;}public void setId(String id) {this.id = id;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public Date getCreateTime() {return createTime;}public void setCreateTime(Date createTime) {this.createTime = createTime;}public Date getExpireTime() {return expireTime;}public void setExpireTime(Date expireTime) {this.expireTime = expireTime;}}
将hibernate-3.2\eg\org\hibernate\auction目录下的User.hbm.xml文件拷到User所在目录,并修改该文件。
<?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="org.hibernate.auction"><class name="hibernate.User" ><id name = "id"><generator class="uuid"></generator></id><property name="userName"></property><property name="password"></property><property name="createTime"></property><property name="expireTime"></property></class></hibernate-mapping>
接下来配置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="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate</property><property name="hibernate.connection.username">root</property><property name="hibernate.connection.password">123</property><property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property><property name="hibernate.show_sql">true</property><mapping resource="hibernate/User.hbm.xml"/></session-factory></hibernate-configuration>
新建ExportDB.java文件,用于在mysql里创建User表。
package hibernate;import org.hibernate.cfg.Configuration;import org.hibernate.tool.hbm2ddl.SchemaExport;public class ExportDB {public static void main(String [] args){Configuration cfg = new Configuration().configure();SchemaExport export = new SchemaExport(cfg);export.create(true, true);}}
注意:执行ExportDB时,你使用的数据库必须已经存在,我的是hibernate库。
执行完后,hibernate库中就会出现我们的user表。
现在看我们具体的操作
新建Client.java类
package hibernate;import java.util.Date;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;import org.hibernate.classic.Session;public class Client {public static void main(String [] args){//读取XML文件Configuration cfg = new Configuration().configure();//创建sessionFactorySessionFactory factory = cfg.buildSessionFactory();Session session = null;try{session = factory.openSession();//开启事务session.beginTransaction();User user = new User();user.setUserName("王五");user.setPassword("123");user.setCreateTime(new Date());user.setExpireTime(new Date());//保存user对象session.save(user);//提交事务session.getTransaction().commit();}catch (Exception e) {e.printStackTrace();//事务回滚session.getTransaction().rollback();}finally{if(session != null){if(session.isOpen()){session.close();}}}}}
执行后,数据库中就会出现我们添加的数据。到此为止,搭建hibernate环境和实例就演示完毕了。可以看出,使用了hibernate后,我们书写的代码少了许多,操作数据库比原来更加方便,hibernate封装的确实很强悍。
- Hibernate初探
- Hibernate初探
- Hibernate初探
- 初探Hibernate
- hibernate初探
- 初探Hibernate
- hibernate初探
- 初探hibernate
- Hibernate初探
- Hibernate-hibernate初探
- Hibernate初探(一)
- Hibernate初探(二)
- Hibernate入门初探
- Hibernate学习初探
- 简单的Hibernate初探
- hibernate search初探1
- hibernate注解初探
- Hibernate初探【1】
- android_onSaveInstanceState的调用
- GNU Compile :可执行文件, 静态链接库, 动态链接库
- STL容器特征总结
- poj4474 Scout YYF I(概率dp+矩阵快速幂)
- Code viewer hierarchy
- 初探Hibernate
- 福利到!Rafy(原OEA)领域实体框架 2.22.2067 发布!
- Access restriction: The type JPEGImageEncoder is not accessible due to restriction
- Android通过http协议POST传输方式
- 调试makefile
- duilib学习笔记
- 软件的设计开发六大原则
- 转:CSDN的博客积分计算规则及博客排名规则
- VBA开发入门