Maven3路程(五)用Maven创建Hibernate项目

本文将用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上右键运行,结果如图

测试成功!!!

时间: 2024-08-10 03:20:09

Maven3路程(五)用Maven创建Hibernate项目的相关文章

Rhythmk 学习 Hibernate 01 - maven 创建Hibernate 项目之 增删改查入门

1.环境: Maven :3.1.1 开发工具:Spring Tool Suite 数据库 : Mysql  5.6 2.项目文件结构 文件代码: 2.1 .pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.ap

Intellij Idea 用Maven 创建Hibernate 项目

第一步:创建maven项目 2. 3. 4.第三步保存之后进行下一步 到此点击finish maven项目创建成功,点击完成后会进行一系列jar包的下载 maven 仓库的默认存储位置 第二步:连接数据库 我用的是mysql 接下来点击绿色加号 选择Data Source  选择自己的数据库 我用的是mysql 到第五步的时候 点击 跳转页面 上面的测试成功后会弹出一下的页面 三,导入hibernate的包在pom.xml <dependency> <groupId>org.hib

Eclipse+Maven创建webapp项目

原文地址:http://www.cnblogs.com/candle806/p/3439469.html Eclipse+Maven创建webapp项目<一> 1.开启eclipse,右键new-->other,如下图找到maven project 2.选择maven project,显示创建maven项目的窗口,勾选如图所示,Create a simple project 3.输入maven项目的基本信息,如下图所示: 4.完成maven项目的创建,生成相应的maven项目结果,如下所

使用Maven创建Web项目后,jsp引入静态文件提示报错。JSP 报错:javax.servlet.ServletException cannot be resolved to a type

使用Maven创建Web项目后,jsp引入静态文件提示报错. 错误提示:javax.servlet.ServletException cannot be resolved to a type 错误如下图: 解决方案: 在Maven的pom文件中引发如下依赖即可: <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <versio

maven创建webapp项目

一.Eclipse配置 1.eclipse集成用户自己安装的jdk 2.eclipse集成用户自己安装的maven 3.eclipse集成用户自己安装的tomcat 4.去掉spell 5.修改字体 小四 二.maven创建webapp项目 new-->other-->maven project->use default workspace location(选择工作目录即可,不必命名项目文件夹)--> maven-archetype-webapp-->定义artifactI

Eclipse+Maven创建webapp项目&lt;二&gt; (转)

Eclipse+Maven创建webapp项目<二> 1.开启eclipse,右键new——>other,如下图找到maven project 2.选择maven project,显示创建maven项目的窗口,此次不勾选Create a simple project,直接next,如图所示: 3.在Filter中搜索webapp,选择如图所示,并next: 4.输入maven项目的基本信息,如下图所示: 5.完成maven项目的创建,生成相应的webapp项目结构,如下所示,此处有部分结

【maven】maven创建web项目-pom文件提示web.xml is missing and &lt;failOnMissingWebXml&gt; is set to true

使用maven创建web项目,选择war类型后,pom文件红叉 提示web.xml is missing and <failOnMissingWebXml> is set to true 也有可能: 初始创建了本项目为web项目,然后虽然把web.xml文件放在了WEB_INF下,这两个文件夹虽然放在webapp下了,但是还是报错 解决方法: 这时候需要右击项目-->Java EE Tools-->Generate Deployment Descriptor Stub.然后系统会在

eclipse和maven创建WebApp项目

Eclipse+Maven创建webapp项目<一> 1.开启eclipse,右键new-->other,如下图找到maven project 2.选择maven project,显示创建maven项目的窗口,勾选如图所示,Create a simple project 3.输入maven项目的基本信息,如下图所示: 4.完成maven项目的创建,生成相应的maven项目结果,如下所示,此处有部分结构是项目不需要的,我们需要去掉: 5.选择项目,右键选择Properties,进入属性页面

Maven创建EJB项目结构

可以用maven创建EJB项目的结构. 1.打开cmd 2.输入一下内容 mvn archetype:generate -DarchetypeGroupId=org.codehaus.mojo.archetypes -DarchetypeArtifactId=pom-root -DarchetypeVersion=1.1 -DarchetypeRepository=http://repo.maven.apache.org/maven2 -DgroupId=com.XXX -DartifactId