Hibernate项目用Maven创建(转)
本文将用Maven3、Hibernate3.6、Oracle10g整合,作为例子。
环境清单:
1.Maven3.0.5
2.Hibernate3.6.5 Final
3.JDK1.7.0.11
4.Oracle10g
一.首先创建表BDUSER

create table DBUSER
(
user_id NUMBER(5) not null,
username VARCHAR2(20),
created_by VARCHAR2(20),
created_date DATE
)

二.用Maven3创建一个web项目,项目名称:maven-hibernate-demo
创建项目参考:Maven3路程(三)用Maven创建第一个web项目(1)
三.添加Hibernate和Oracle依赖,pom.xml如下
Hibernate有些依赖包必须添加

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.lei.demo</groupId>
<artifactId>maven-hibernate-demo</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>maven-hibernate-demo Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.2</version>
<scope>test</scope>
</dependency>
<!-- Oracle Jdbc Driver -->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc14</artifactId>
<version>10.2.0.4.0</version>
</dependency>
<!-- Hibernate 配置 -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>3.6.5.Final</version>
</dependency>
<dependency>
<groupId>javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.12.0.GA</version>
</dependency>
<dependency>
<groupId>antlr</groupId>
<artifactId>antlr</artifactId>
<version>2.7.6</version>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.1</version>
</dependency>
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.0-api</artifactId>
<version>1.0.0.Final</version>
</dependency>
</dependencies>
<build>
<finalName>maven-hibernate-demo</finalName>
</build>
</project>

四.创建Hibernate Map文件和Model类
1.创建Dbuser.hbm.xml映射文件
路径src/main/resources/com/sulei/demo下

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 2013-10-22 15:28:34 by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping>
<class name="com.sulei.demo.Dbuser" table="DBUSER" schema="GZIP_BASE">
<id name="userId" type="int">
<column name="USER_ID" precision="5" scale="0" />
<generator class="assigned" />
</id>
<property name="username" type="string">
<column name="USERNAME" length="20" />
</property>
<property name="createdBy" type="string">
<column name="CREATED_BY" length="20" />
</property>
<property name="createdDate" type="date">
<column name="CREATED_DATE" length="7" />
</property>
</class>
</hibernate-mapping>

2. 创建实体类Dbuser
路径src/main/java/com/sulei/demo下

package com.sulei.demo; // Generated 2013-10-22 15:28:34 by Hibernate Tools 3.4.0.CR1 import java.util.Date; /**
* Dbuser generated by hbm2java
*/
public class Dbuser implements java.io.Serializable { private int userId;
private String username;
private String createdBy;
private Date createdDate; public Dbuser() {
} public Dbuser(int userId) {
this.userId = userId;
} public Dbuser(int userId, String username, String createdBy,
Date createdDate) {
this.userId = userId;
this.username = username;
this.createdBy = createdBy;
this.createdDate = createdDate;
} public int getUserId() {
return this.userId;
} public void setUserId(int userId) {
this.userId = userId;
} public String getUsername() {
return this.username;
} public void setUsername(String username) {
this.username = username;
} public String getCreatedBy() {
return this.createdBy;
} public void setCreatedBy(String createdBy) {
this.createdBy = createdBy;
} public Date getCreatedDate() {
return this.createdDate;
} public void setCreatedDate(Date createdDate) {
this.createdDate = createdDate;
} }

可以用Hibernate Tools反向工程自动声场代码,见以下另一篇文章:
用Hibernate Tools生成Hibernate Mapping映射文件
五.创建Hibernate.cfg.xml
创建Hibernate配置文件 “hibernate.cfg.xml” 把他放在resources目录下: “src/main/resources/hibernate.cfg.xml“填写数据库相关信息。
加入Map文件,“DBUser.hbm.xml“.
hibernate.cfg.xml如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory name="">
<property name="hibernate.connection.driver_class">oracle.jdbc.OracleDriver</property>
<property name="hibernate.connection.password">password</property>
<property name="hibernate.connection.url">jdbc:oracle:thin:@databaseip:1521:gzip</property>
<property name="hibernate.connection.username">gzip_base</property>
<property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>
<property name="show_sql">true</property>
<mapping resource="com/sulei/demo/Dbuser.hbm.xml" />
</session-factory>
</hibernate-configuration>

六.创建Session工场
创建 “HibernateUtil.java” 类管理Hibernate Session。 路径:“src/main/java/com/sulei/util/HibernateUtil.java”

package com.sulei.util; import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration; public class HibernateUtil { private static final SessionFactory sessionFactory = buildSessionFactory(); private static SessionFactory buildSessionFactory() {
try {
// Create the SessionFactory from hibernate.cfg.xml
return new Configuration().configure().buildSessionFactory();
} catch (Throwable ex) {
// Make sure you log the exception, as it might be swallowed
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
} public static SessionFactory getSessionFactory() {
System.out.println("test----1");
return sessionFactory;
} public static void shutdown() {
// Close caches and connection pools
getSessionFactory().close();
} }

六. 代码测试
创建App.java向表中插入一条记录。

package com.sulei.test; import java.util.Date;
import org.hibernate.Session;
import com.sulei.util.HibernateUtil;
import com.sulei.demo.Dbuser; public class App { public static void main(String[] args) {
System.out.println("Maven3 + Hibernate + Oracle10g");
Session session = HibernateUtil.getSessionFactory().openSession(); session.beginTransaction();
Dbuser user = new Dbuser(); user.setUserId(100);
user.setUsername("leioolei");
user.setCreatedBy("system");
user.setCreatedDate(new Date()); session.save(user);
session.getTransaction().commit();
}
}

项目组织好,目录结构见下图

在App.java上右键运行,结果如图

测试成功!!!
Hibernate项目用Maven创建(转)的更多相关文章
- idea创建普通java项目以及maven创建项目过程(转)
1. idea创建一个普通项目流程 http://blog.csdn.net/testcs_dn/article/details/52303941 2. idea创建maven项目流程 http:// ...
- MAVEN 创建项目
使用archetype生成项目骨架 MAVEN 创建项目JAR 和 MAVEN创建项目WAR中是使用特定的acrchetype来进行创建项目,如果使用其他的archetype来创建项目或是使用 mvn ...
- Maven3路程(五)用Maven创建Hibernate项目
本文将用Maven3.Hibernate3.6.Oracle10g整合,作为例子. 环境清单: 1.Maven3.0.5 2.Hibernate3.6.5 Final 3.JDK1.7.0.11 4. ...
- intellij 创建java web项目(maven管理的SSH)
intellij 创建java web项目(maven管理的SSH) 环境intellij IDEA14.MAVEN.Spring.Struts2.Hibernate.Java Web.工程搭建. 1 ...
- 用maven创建web项目(spring Mvc)
用maven创建web项目(spring Mvc) 1.打开cmd进入到你要创建maven项目的目录下: 2.输入以下命令.然后根据提示输入相应的groupId.artifactId.version: ...
- maven 学习---使用Maven创建Java项目
在本教程中,我们将向你展示如何使用 Maven 来创建一个 Java 项目,导入其到Eclipse IDE,并打包 Java 项目到一个 JAR 文件. 所需要的工具: Maven 3.3.3 Ecl ...
- Eclipse中使用Maven创建web项目
一.创建一个Maven项目 1.Eclipse中用Maven创建项目 上图中点击next 2.继续next 3.选maven-archetype-webapp后,next 4.填写相应的信息,Pack ...
- Eclipse+Maven创建webapp项目<一>(转)
还在为jar下载而烦恼吗?还在为jar依赖关系而烦恼吗?还在为jar冲突而烦恼吗?强大的maven项目管理工具来拯救你们呢?自动下载jar,自动下载jar依赖包.你什么都不用做,只需要在中央仓库中co ...
- 【maven】maven创建web项目-pom文件提示web.xml is missing and <failOnMissingWebXml> is set to true
使用maven创建web项目,选择war类型后,pom文件红叉 提示web.xml is missing and <failOnMissingWebXml> is set to true ...
随机推荐
- 原生js实现简单打字机效果
快过年了,公司基本没活,闲着也是闲着,就写了一个 打字机效果玩玩,感觉挺有意思的. 具体代码 请参见我的github,请戳这里 预览效果,请戳这里
- web.xml 模板和Servlet版本
最近没事干,写自己小项目(项目周期无限长.开发效率无限低)的时候,遇到web.xml的dtd声明不正确,这里罗列下从Eclipse里新建项目时,自动生成的web.xml,供以后遇到类似问题的时候进行参 ...
- WebStorm设置手机测试服务器-局域网内其他设备访问
前端开发中,经常需要将做好的页面给其他同事预览或手机测试,之前一直用的第三方本地服务器usbwebserver,偶然了解到WebStorm内置服务器也可以满足此需求,来看看如何设置吧~~ 1.端口更改 ...
- django的中间件
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA2EAAAGUCAIAAAAzrr3rAAAgAElEQVR4nOy9d5wcx3kmzAXl80m6zy
- django的分页--不全也未实现
一.Django内置分页 Paginator 二.自定义分页 分页功能在每个网站都是必要的,对于分页来说,其实就是根据用户的输入计算出应该在数据库表中的起始位置. 1.设定每页显示数据条数 2.用户输 ...
- 1.8---字符串是否是旋转而成(CC150)
答案:利用了XY , YX中第一个XYXY包含了第二个 public class Solution{ public static void main(String[] args){ System.ou ...
- ubuntu下编码转换工具
ubuntu打开windows下的txt或者代码文件,经常会出现乱码, ubuntu自带一种转换工具,是命令行的,下面提供一种最简单的方法进行转换 比如要转换的文件为1.txt,进入1.txt的目录 ...
- phpcms后台进入地址(包含No permission resources错误)
安装phpcms后却不知道怎么进入后台,实际上输入如下地址即可进入后台登陆界面: http://你的域名/admin.php 如果出现No permission resources.错误,可能是之前修 ...
- 教程和工具--用wxPython编写GUI程序的
wxPython是个很好的GUI库,对底层的C++库进行了封装,调用起来很方便,尤其是操作前台UI界面和后台多线程,两者配合很方便,做GUI程序最难是写界面尤其是布局. 关于wxPython,自己正在 ...
- ACM/ICPC 之 最短路-SPFA+正逆邻接表(POJ1511(ZOJ2008))
求单源最短路到其余各点,然后返回源点的总最短路长,以构造邻接表的方法不同分为两种解法. POJ1511(ZOJ2008)-Invitation Cards 改变构造邻接表的方法后,分为两种解法 解法一 ...