【hibernate进阶】hibernate搭建开发环境+实例讲解
来源:互联网 发布:淘宝怎么分期付款手机 编辑:程序博客网 时间:2024/04/29 21:58
本篇博客将带着大家以一个简单的实例来学习hibernate项目。
1、创建java项目
2、创建User Library,加入依赖包* HIBERNATE_HOME/lib/*.jar
* HIBERNATE_HOME/hibernate3.jar
* 加入数据库驱动(mysql驱动)
具体的操作步骤参考我的上一篇博客:【hibernate进阶】如何在myeclipse中添加jar包
3、提供hibernate.cfg.xml文件,完成基本的配置
<strong><span style="font-size:18px;"><!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_first</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password">123</property> <!-- mysql language adatper,if you want to change database ,you juse need to change there --> <!-- <property name="hibernate.connection.dialect">org.hibernate.dialect.MySQLDialect</property> --> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <property name="hibernate.show_sql">true</property> <!-- <property name="hibernate.format_sql">true</property>--> <mapping resource="com/bjpowernode/hibernate/User.hbm.xml"/> </session-factory></hibernate-configuration></span></strong>4、建立实体类User.java
<strong><span style="font-size:18px;"><strong><span style="font-size:18px;">package com.bjpowernode.hibernate;import java.util.Date;public class User {private String id;private String name;private String password;private Date createTime ;private Date expireTime;public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}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;}}</span></strong></span></strong>5、提供User.hbm.xml文件,完成实体类的映射
<strong><span style="font-size:18px;"><?xml version="1.0"?><!DOCTYPE hibernate-mapping SYSTEM "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" ><hibernate-mapping ><class name="com.bjpowernode.hibernate.User"><id name="id"><generator class="uuid"/></id><property name="name"/><property name="password"/><property name="createTime"/><property name="expireTime"/></class></hibernate-mapping></span></strong>
6、将User.hbm.xml文件加入到hibernate.cfg.xml文件中
这个在3步的时候已经加进去了
7、编写工具类ExoprtDB.java,将hbm生成ddl,也就是hbm2ddl
<strong><span style="font-size:18px;">package com.bjpowernode.hibernate;import org.hibernate.cfg.Configuration;import org.hibernate.tool.hbm2ddl.SchemaExport;/** * hbm Generation ddl * @author CXC * */public class ExoprtDB {public static void main(String[] args){//Read by default hibernate.cfg.xml FileConfiguration cfg=new Configuration().configure();SchemaExport export=new SchemaExport(cfg);export.create(true, true);}}</span></strong>在这一步的时候,就可以生成user表了,run as java application ,查看数据库,就可以生成user表了。
8、建立客户端类Client,添加用户数据到mysql
<strong><span style="font-size:18px;">package com.bjpowernode.hibernate;import java.text.SimpleDateFormat;import java.util.Date;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;public class Client {public static void main(String[] args) {//read hibernate.cfg.xml fileConfiguration cfg=new Configuration().configure();//sessionfactory thread safe//build sessionfactorySessionFactory factory=cfg.buildSessionFactory();//acquire session Session session=null;try{session=factory.openSession();//open Transactionsession.beginTransaction();User user=new User();user.setName("12");user.setPassword("123");/* user.setCreateTime(new Date()); user.setExpireTime(new Date());*/Date date=new Date(); SimpleDateFormat temp=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); String date2=temp.format(date); Date date3=temp.parse(date2); user.setCreateTime(date3); user.setExpireTime(date3);//save User objectsession.save(user);//commit Transactionsession.getTransaction().commit();}catch(Exception e){e.printStackTrace();//rollback Transactionsession.getTransaction().rollback();}finally{if(session !=null){if(session.isOpen()){//close sessionsession.close();}}}}}</span></strong>
在console中,输入的insert into user(.....)信息表示将数据插入到数据库中了。
通过navicat,查看插入的数据
这样,hibernate的项目就完成了。
遇到的问题:
在插入的时候,遇到了日期插不进去的问题。以为是mysql引用的jar包问题,重新引用了没有解决,想到了在之前也遇到过类似的问题,把转了一下日期的格式就解决了。
1 0
- 【hibernate进阶】hibernate搭建开发环境+实例讲解
- 【SSH进阶之路】Hibernate搭建开发环境+简单实例(二)
- 【SSH进阶之路】Hibernate搭建开发环境+简单实例(二)
- 【SSH进阶之路】Hibernate搭建开发环境+简单实例(二)
- 【SSH进阶之路】Hibernate搭建开发环境+简单实例(二)
- 【SSH进阶之路】Hibernate搭建开发环境+简单实例(二)
- 【SSH进阶之路】【二】Hibernate搭建开发环境+简单实例
- 【SSH进阶之路】Hibernate搭建开发环境+简单实例(二)
- Hibernate(二):Hibernate搭建开发环境+简单实例
- 搭建hibernate开发环境
- 搭建Hibernate开发环境
- Hibernate开发环境搭建
- hibernate开发环境搭建
- 【搭建hibernate开发环境】
- 搭建Hibernate 开发环境
- Hibernate环境搭建(小实例)
- Hibernate搭建开发环境+简单实例(二)
- Hibernate搭建开发环境+简单实例(二)
- MongoDB学习笔记系列:(八) 复制
- 前端面试问题及答案
- 浮点数在计算机中存储方式
- JVM--运行时数据区域
- 面试:数组:旋转数组的最小值
- 【hibernate进阶】hibernate搭建开发环境+实例讲解
- Problem C (字典树的查找删除和插入)2016"百度之星" - 资格赛(Astar Round1)
- 微信第三方
- android UI——2D绘图中应该注意的那些坑
- stm32f2xx与stm32f10x 在正交编码器应用关于定时器初始化中的区别
- 剪格子
- 新浪微博三方登录
- Java 中打印杨辉三角
- CB的bug