Hibernate4Maven
How to create a Maven project with Hibernate libs?
This blog will be a demo to describe this issue.
Using tools:
1. eclipse
2. maven
Now, we should look at the project structure :

the result at the console :
[INFO] Scanning for projects...
[INFO]
[INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder with a thread count of 1
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building hibernate-4-maven 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ hibernate-4-maven ---
[INFO] Deleting D:\Development\j2ee\workspace\hibernate-4-maven\target
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ hibernate-4-maven ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 2 resources
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ hibernate-4-maven ---
[INFO] Compiling 2 source files to D:\Development\j2ee\workspace\hibernate-4-maven\target\classes
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ hibernate-4-maven ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory D:\Development\j2ee\workspace\hibernate-4-maven\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:testCompile (default-testCompile) @ hibernate-4-maven ---
[INFO] Compiling 1 source file to D:\Development\j2ee\workspace\hibernate-4-maven\target\test-classes
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ hibernate-4-maven ---
[INFO] Surefire report directory: D:\Development\j2ee\workspace\hibernate-4-maven\target\surefire-reports -------------------------------------------------------
T E S T S
-------------------------------------------------------
Running com.b510.hongten.hibernate4maven.TestUser
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Hibernate:
select
user0_.id as id0_,
user0_.age as age0_,
user0_.email as email0_,
user0_.gender as gender0_,
user0_.name as name0_
from
tab_user user0_
Id : 1 Name : Hongten Gender : M Age : 18 email : hongtenzone@foxmail.com
Hibernate:
insert
into
tab_user
(age, email, gender, name)
values
(?, ?, ?, ?)
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.298 sec Results : Tests run: 2, Failures: 0, Errors: 0, Skipped: 0 [INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.151 s
[INFO] Finished at: 2014-11-01T23:32:56+08:00
[INFO] Final Memory: 11M/27M
[INFO] ------------------------------------------------------------------------
the result at the database :

==========================================================
// Source Code:
==========================================================
/hibernate-4-maven/src/main/java/com/b510/hongten/hibernate4maven/User.java
/**
*
*/
package com.b510.hongten.hibernate4maven; import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table; /**
* @author Hongten
* @created 2014年11月1日
*/
@Entity
@Table(name = "tab_user")
public class User { @Id
@GeneratedValue
private Integer id;
private String name;
@Column(columnDefinition = "int default 0")
private Integer age;
private String gender;
private String email; public Integer getId() {
return id;
} public void setId(Integer id) {
this.id = id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public Integer getAge() {
return age;
} public void setAge(Integer age) {
this.age = age;
} public String getGender() {
return gender;
} public void setGender(String gender) {
this.gender = gender;
} public String getEmail() {
return email;
} public void setEmail(String email) {
this.email = email;
}
}
/hibernate-4-maven/src/main/java/com/b510/hongten/hibernate4maven/util/HibernateUtil.java
/**
*
*/
package com.b510.hongten.hibernate4maven.util; import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration; /**
* @author Hongten
* @created 2014年11月1日
*/
public class HibernateUtil { private static final SessionFactory sessionFactory; static {
sessionFactory = new AnnotationConfiguration().configure()
.buildSessionFactory();
} public static Session getOpenSession() {
return sessionFactory.openSession();
} public static Session getCurrentSession() {
return sessionFactory.getCurrentSession();
}
}
/hibernate-4-maven/src/test/java/com/b510/hongten/hibernate4maven/TestUser.java
/**
*
*/
package com.b510.hongten.hibernate4maven; import java.util.List;
import java.util.Random; import junit.framework.Assert; import org.hibernate.Query;
import org.hibernate.Session;
import org.junit.Test; import com.b510.hongten.hibernate4maven.util.HibernateUtil; /**
* @author Hongten
* @created 2014年11月1日
*/
public class TestUser { @Test
public void testSave() {
Session session = HibernateUtil.getOpenSession();
session.beginTransaction();
User user = new User();
user.setAge(new Random().nextInt(22));
user.setName("Hongten");
user.setGender("M");
user.setEmail("hongtenzone@foxmail.com"); session.save(user); Assert.assertEquals(true, user.getId() > 0); session.getTransaction().commit();
} @Test
public void testUpdate() {
Session session = HibernateUtil.getOpenSession();
session.beginTransaction();
Query query = session.createQuery("from User");
List<User> list = query.list();
for (User u : list) {
System.out.println("Id : " + u.getId() + " Name : " + u.getName()
+ " Gender : " + u.getGender() + " Age : " + u.getAge()
+ " email : " + u.getEmail());
}
session.getTransaction().commit();
}
}
/hibernate-4-maven/src/main/resources/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>
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property name="connection.url">
jdbc:mysql://localhost:3306/users
</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<property name="current_session_context_class">thread</property>
<property name="hbm2ddl.auto">update</property> <!-- Add POJO to here -->
<mapping class="com.b510.hongten.hibernate4maven.User" /> </session-factory> </hibernate-configuration>
/hibernate-4-maven/src/main/resources/log4j.properties
log4j.rootLogger=debug,consolelog4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%r [%t] %p - %c - %l - %m%n
/hibernate-4-maven/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.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>com.b510.hongten</groupId>
<artifactId>hibernate-4-maven</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging> <name>hibernate-4-maven</name>
<url>http://maven.apache.org</url> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties> <dependencies>
<!-- Configuration for Hibernate -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>3.6.10.Final</version>
</dependency>
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.18.1-GA</version>
</dependency>
<!-- Configuration for mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.33</version>
</dependency>
<!-- Configuration for log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<!-- Configuration for junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
Source Code Download: http://files.cnblogs.com/hongten/hibernate-4-maven.rar
========================================================
More reading,and english is important.
I'm Hongten

大哥哥大姐姐,觉得有用打赏点哦!多多少少没关系,一分也是对我的支持和鼓励。谢谢。
Hongten博客排名在100名以内。粉丝过千。
Hongten出品,必是精品。
E | hongtenzone@foxmail.com B | http://www.cnblogs.com/hongten
========================================================
Hibernate4Maven的更多相关文章
随机推荐
- DevExpress DXperience 的本地化(汉化)方法
Devexpress的.net组件目前非常流行,在国内开发者中有非常高的热度,但是由于是国外控件,我们经常遇到的一个问题是汉化.目前Devexpress公司2011.2版以后使用了统一的本地化模式,针 ...
- <转>FreeMarker内置函数
一. Sequence的内置函数1. sequence?first 返回sequence的第一个值.2. sequence?last 返回sequence的最后一个值.3. sequence?reve ...
- 11g SQL Monitor
1,首先确认两个参数的值 SQL> show parameter statistics_level NAME TYPE VALUE ------- ...
- Oracle数据库 控制文件
一.概念控制文件的主要任务是管理数据库的状态以及描述数据库的物理结构 二.所含有的信息1.数据库名2.数据库标识符(DBID)3.数据库创建时间戳4.数据库字符集5.数据文件信息6.临时文件信息7.在 ...
- C# 重绘tabControl,添加关闭按钮(续)
在上一篇随笔中,添加关闭按钮是可以实现 ,但细心一点就会发现,每次关闭一个选项卡,tableControl都会自动跳到第一个页面,显然 这不是我们想要的,为此,我修改了部分的代码.除此之外,我还添加了 ...
- ImageSwitcher自定意效果+定时切换图片
Activity实现 1 import android.app.Activity; import android.os.Bundle; import android.view.MotionEvent; ...
- .deb文件打包
最近因项目需要,需要把文件夹打包为.deb格式的包,幸亏一位朋友帮忙指导了我一个晚上,才得以完成,这里再次对他表示感谢. 整理打包流程如下: 请先参考此博客内容,了解deb文件打包 如何制作Deb包和 ...
- WIN7系统下U盘安装Ubuntu双系统
1. 准备工作 1. 官网下载Ubantu镜像,我下载的是Ubantu14.04.3 LTS版本: 2. 下载 Universal USB Installer (UUI)用于制作U盘启动盘: 3. 下 ...
- asp.net项目中通过Web.config配置文件及文件夹的访问权限!
描述:在开发中我们通常会碰到这样的问题,例如:在项目的根目录下面有一个文件或者文件夹需要用户登陆后才能访问.如果用户在没有登录的情况下访问该文件或者该文件夹下面的文件时,直接拦截重定向到对应的登陆页面 ...
- HDU 2609 最小表示法
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2609 题意:给定n个循环链[串],问有多少个本质不同的链[串](如果一个循环链可以通过找一个起点使得和 ...