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 1-------------------------------------------------------------------------4-maven 0.0.1---------------------------------------------------------------------------- maven-clean-plugin:2.5:clean (-clean) @ hibernate-4-maven ----4---- maven-resources-plugin:2.6:resources (-resources) @ hibernate-4-maven ---'UTF-8'2--- maven-compiler-plugin:2.5.1:compile (-compile) @ hibernate-4-maven ---2 source files to D:Developmentj2eeworkspacehibernate-4---- maven-resources-plugin:2.6:testResources (-testResources) @ hibernate-4-maven ---'UTF-8'-4---- maven-compiler-plugin:2.5.1:testCompile (-testCompile) @ hibernate-4-maven ---1 source file to D:Developmentj2eeworkspacehibernate-4-maventargettest---- maven-surefire-plugin:2.12.4:test (-test) @ hibernate-4-maven ----4-maventargetsurefire--------------------------------------------------------<span style="color: #000000;">
T E S T S
-------------------------------------------------------<span style="color: #000000;">
Running com.b510.hongten.hibernate4maven.TestUser
SLF4J: Failed to load <span style="color: #0000ff;">class "org.slf4j.impl.StaticLoggerBinder"<span style="color: #000000;">.
SLF4J: Defaulting to no-<span style="color: #000000;">operation (NOP) logger implementation
SLF4J: See http:<span style="color: #008000;">//<span style="color: #008000;">www.slf4j.org/codes.html#StaticLoggerBinder for further details.
<span style="color: #000000;">Hibernate:
select
user0.id as id0,user0.age as age0,user0.email as email0,user0.gender as gender0,user0.name as name0
from
tabuser user0
Id : 1 Name : Hongten Gender : M Age : 18<span style="color: #000000;"> email : hongtenzone@foxmail.com
Hibernate:
insert
into
tab_user
(age,email,gender,name)
values
(?,?,?<span style="color: #000000;">)
Tests run: 2,Failures: 0,Errors: 0,Skipped: 0,Time elapsed: 1.298<span style="color: #000000;"> sec
Results :
Tests run: 2,Skipped: 0<span style="color: #000000;">
[INFO] ------------------------------------------------------------------------<span style="color: #000000;">
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------<span style="color: #000000;">
[INFO] Total time: 3.151<span style="color: #000000;"> s
[INFO] Finished at: 2014-11-01T23:32:56+08:00<span style="color: #000000;">
[INFO] Final Memory: 11M/<span style="color: #000000;">27M
[INFO] ------------------------------------------------------------------------
the result at the database :

<span style="color: #0000ff;">import<span style="color: #000000;"> javax.persistence.Column;
<span style="color: #0000ff;">import<span style="color: #000000;"> javax.persistence.Entity;
<span style="color: #0000ff;">import<span style="color: #000000;"> javax.persistence.GeneratedValue;
<span style="color: #0000ff;">import<span style="color: #000000;"> javax.persistence.Id;
<span style="color: #0000ff;">import<span style="color: #000000;"> javax.persistence.Table;
<span style="color: #008000;">/**<span style="color: #008000;">
-
<span style="color: #808080;">@author<span style="color: #008000;"> Hongten
-
@created 2014年11月1日
<span style="color: #008000;">*/<span style="color: #000000;">
@Entity
@Table(name = "tab_user"<span style="color: #000000;">)
<span style="color: #0000ff;">public <span style="color: #0000ff;">class<span style="color: #000000;"> User {
@Id
@GeneratedValue
<span style="color: #0000ff;">private<span style="color: #000000;"> Integer id;
<span style="color: #0000ff;">private<span style="color: #000000;"> String name;
@Column(columnDefinition = "int default 0"<span style="color: #000000;">)
<span style="color: #0000ff;">private<span style="color: #000000;"> Integer age;
<span style="color: #0000ff;">private<span style="color: #000000;"> String gender;
<span style="color: #0000ff;">private<span style="color: #000000;"> String email;
<span style="color: #0000ff;">public<span style="color: #000000;"> Integer getId() {
<span style="color: #0000ff;">return<span style="color: #000000;"> id;
}
<span style="color: #0000ff;">public <span style="color: #0000ff;">void<span style="color: #000000;"> setId(Integer id) {
<span style="color: #0000ff;">this.id =<span style="color: #000000;"> id;
}
<span style="color: #0000ff;">public<span style="color: #000000;"> String getName() {
<span style="color: #0000ff;">return<span style="color: #000000;"> name;
}
<span style="color: #0000ff;">public <span style="color: #0000ff;">void<span style="color: #000000;"> setName(String name) {
<span style="color: #0000ff;">this.name =<span style="color: #000000;"> name;
}
<span style="color: #0000ff;">public<span style="color: #000000;"> Integer getAge() {
<span style="color: #0000ff;">return<span style="color: #000000;"> age;
}
<span style="color: #0000ff;">public <span style="color: #0000ff;">void<span style="color: #000000;"> setAge(Integer age) {
<span style="color: #0000ff;">this.age =<span style="color: #000000;"> age;
}
<span style="color: #0000ff;">public<span style="color: #000000;"> String getGender() {
<span style="color: #0000ff;">return<span style="color: #000000;"> gender;
}
<span style="color: #0000ff;">public <span style="color: #0000ff;">void<span style="color: #000000;"> setGender(String gender) {
<span style="color: #0000ff;">this.gender =<span style="color: #000000;"> gender;
}
<span style="color: #0000ff;">public<span style="color: #000000;"> String getEmail() {
<span style="color: #0000ff;">return<span style="color: #000000;"> email;
}
<span style="color: #0000ff;">public <span style="color: #0000ff;">void<span style="color: #000000;"> setEmail(String email) {
<span style="color: #0000ff;">this.email =<span style="color: #000000;"> email;
}
}
<span style="color: #008000;">*/
<span style="color: #0000ff;">package<span style="color: #000000;"> com.b510.hongten.hibernate4maven.util;
<span style="color: #0000ff;">import<span style="color: #000000;"> org.hibernate.Session;
<span style="color: #0000ff;">import<span style="color: #000000;"> org.hibernate.SessionFactory;
<span style="color: #0000ff;">import<span style="color: #000000;"> org.hibernate.cfg.AnnotationConfiguration;
<span style="color: #008000;">/**<span style="color: #008000;">
-
<span style="color: #808080;">@author<span style="color: #008000;"> Hongten
-
@created 2014年11月1日
<span style="color: #008000;">*/
<span style="color: #0000ff;">public <span style="color: #0000ff;">class<span style="color: #000000;"> HibernateUtil {
<span style="color: #0000ff;">private <span style="color: #0000ff;">static <span style="color: #0000ff;">final<span style="color: #000000;"> SessionFactory sessionFactory;
<span style="color: #0000ff;">static<span style="color: #000000;"> {
sessionFactory = <span style="color: #0000ff;">new<span style="color: #000000;"> AnnotationConfiguration().configure()
.buildSessionFactory();
}
<span style="color: #0000ff;">public <span style="color: #0000ff;">static<span style="color: #000000;"> Session getOpenSession() {
<span style="color: #0000ff;">return<span style="color: #000000;"> sessionFactory.openSession();
}
<span style="color: #0000ff;">public <span style="color: #0000ff;">static<span style="color: #000000;"> Session getCurrentSession() {
<span style="color: #0000ff;">return<span style="color: #000000;"> sessionFactory.getCurrentSession();
}
}
<span style="color: #008000;">*/
<span style="color: #0000ff;">package<span style="color: #000000;"> com.b510.hongten.hibernate4maven;
<span style="color: #0000ff;">import<span style="color: #000000;"> java.util.List;
<span style="color: #0000ff;">import<span style="color: #000000;"> java.util.Random;
<span style="color: #0000ff;">import<span style="color: #000000;"> junit.framework.Assert;
<span style="color: #0000ff;">import<span style="color: #000000;"> org.hibernate.Query;
<span style="color: #0000ff;">import<span style="color: #000000;"> org.hibernate.Session;
<span style="color: #0000ff;">import<span style="color: #000000;"> org.junit.Test;
<span style="color: #0000ff;">import<span style="color: #000000;"> com.b510.hongten.hibernate4maven.util.HibernateUtil;
<span style="color: #008000;">/**<span style="color: #008000;">
-
<span style="color: #808080;">@author<span style="color: #008000;"> Hongten
-
@created 2014年11月1日
<span style="color: #008000;">*/
<span style="color: #0000ff;">public <span style="color: #0000ff;">class<span style="color: #000000;"> TestUser {
@Test
<span style="color: #0000ff;">public <span style="color: #0000ff;">void<span style="color: #000000;"> testSave() {
Session session =<span style="color: #000000;"> HibernateUtil.getOpenSession();
session.beginTransaction();
User user = <span style="color: #0000ff;">new<span style="color: #000000;"> User();
user.setAge(<span style="color: #0000ff;">new Random().nextInt(22<span style="color: #000000;">));
user.setName("Hongten"<span style="color: #000000;">);
user.setGender("M"<span style="color: #000000;">);
user.setEmail("hongtenzone@foxmail.com"<span style="color: #000000;">);
session.save(user);
Assert.assertEquals(</span><span style="color: #0000ff;">true</span>,user.getId() > 0<span style="color: #000000;">);
session.getTransaction().commit();
}
@Test
<span style="color: #0000ff;">public <span style="color: #0000ff;">void<span style="color: #000000;"> testUpdate() {
Session session =<span style="color: #000000;"> HibernateUtil.getOpenSession();
session.beginTransaction();
Query query = session.createQuery("from User"<span style="color: #000000;">);
List list =<span style="color: #000000;"> query.list();
<span style="color: #0000ff;">for<span style="color: #000000;"> (User u : list) {
System.out.println("Id : " + u.getId() + " Name : " +<span style="color: #000000;"> u.getName()
+ " Gender : " + u.getGender() + " Age : " +<span style="color: #000000;"> u.getAge()
+ " email : " +<span style="color: #000000;"> u.getEmail());
}
session.getTransaction().commit();
}
}
<span style="color: #0000ff;">< <span style="color: #800000;">hibernate-configuration<span style="color: #0000ff;">>
<span style="color: #0000ff;"><</span><span style="color: #800000;">session-factory</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">property </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="dialect"</span><span style="color: #0000ff;">></span><span style="color: #000000;">
org.hibernate.dialect.MySQLDialect
</span><span style="color: #0000ff;"></</span><span style="color: #800000;">property</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">property </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="connection.url"</span><span style="color: #0000ff;">></span><span style="color: #000000;">
jdbc:mysql://localhost:3306/users
</span><span style="color: #0000ff;"></</span><span style="color: #800000;">property</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">property </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="connection.username"</span><span style="color: #0000ff;">></span>root<span style="color: #0000ff;"></</span><span style="color: #800000;">property</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">property </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="connection.password"</span><span style="color: #0000ff;">></span>root<span style="color: #0000ff;"></</span><span style="color: #800000;">property</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">property </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="connection.driver_class"</span><span style="color: #0000ff;">></span><span style="color: #000000;">
com.mysql.jdbc.Driver
</span><span style="color: #0000ff;"></</span><span style="color: #800000;">property</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">property </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="show_sql"</span><span style="color: #0000ff;">></span>true<span style="color: #0000ff;"></</span><span style="color: #800000;">property</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">property </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="format_sql"</span><span style="color: #0000ff;">></span>true<span style="color: #0000ff;"></</span><span style="color: #800000;">property</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">property </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="current_session_context_class"</span><span style="color: #0000ff;">></span>thread<span style="color: #0000ff;"></</span><span style="color: #800000;">property</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">property </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="hbm2ddl.auto"</span><span style="color: #0000ff;">></span>update<span style="color: #0000ff;"></</span><span style="color: #800000;">property</span><span style="color: #0000ff;">></span>
<span style="color: #008000;"><!--</span><span style="color: #008000;"> Add POJO to here </span><span style="color: #008000;">--></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">mapping </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="com.b510.hongten.hibernate4maven.User"</span> <span style="color: #0000ff;">/></span>
<span style="color: #0000ff;"></</span><span style="color: #800000;">session-factory</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"></ <span style="color: #800000;">hibernate-configuration<span style="color: #0000ff;">>
4.0.0
<span style="color: #0000ff;"><</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">></span>com.b510.hongten<span style="color: #0000ff;"></</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">></span>hibernate-4-maven<span style="color: #0000ff;"></</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">version</span><span style="color: #0000ff;">></span>0.0.1-SNAPSHOT<span style="color: #0000ff;"></</span><span style="color: #800000;">version</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">packaging</span><span style="color: #0000ff;">></span>jar<span style="color: #0000ff;"></</span><span style="color: #800000;">packaging</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">name</span><span style="color: #0000ff;">></span>hibernate-4-maven<span style="color: #0000ff;"></</span><span style="color: #800000;">name</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">url</span><span style="color: #0000ff;">></span>http://maven.apache.org<span style="color: #0000ff;"></</span><span style="color: #800000;">url</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">properties</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">project.build.sourceEncoding</span><span style="color: #0000ff;">></span>UTF-8<span style="color: #0000ff;"></</span><span style="color: #800000;">project.build.sourceEncoding</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"></</span><span style="color: #800000;">properties</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">dependencies</span><span style="color: #0000ff;">></span>
<span style="color: #008000;"><!--</span><span style="color: #008000;"> Configuration for Hibernate </span><span style="color: #008000;">--></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">></span>org.hibernate<span style="color: #0000ff;"></</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">></span>hibernate-core<span style="color: #0000ff;"></</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">version</span><span style="color: #0000ff;">></span>3.6.10.Final<span style="color: #0000ff;"></</span><span style="color: #800000;">version</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"></</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">></span>org.javassist<span style="color: #0000ff;"></</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">></span>javassist<span style="color: #0000ff;"></</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">version</span><span style="color: #0000ff;">></span>3.18.1-GA<span style="color: #0000ff;"></</span><span style="color: #800000;">version</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"></</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">></span>
<span style="color: #008000;"><!--</span><span style="color: #008000;"> Configuration for mysql </span><span style="color: #008000;">--></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">></span>mysql<span style="color: #0000ff;"></</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">></span>mysql-connector-java<span style="color: #0000ff;"></</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">version</span><span style="color: #0000ff;">></span>5.1.33<span style="color: #0000ff;"></</span><span style="color: #800000;">version</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"></</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">></span>
<span style="color: #008000;"><!--</span><span style="color: #008000;"> Configuration for log4j </span><span style="color: #008000;">--></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">></span>log4j<span style="color: #0000ff;"></</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">></span>log4j<span style="color: #0000ff;"></</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">version</span><span style="color: #0000ff;">></span>1.2.17<span style="color: #0000ff;"></</span><span style="color: #800000;">version</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"></</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">></span>
<span style="color: #008000;"><!--</span><span style="color: #008000;"> Configuration for junit </span><span style="color: #008000;">--></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">></span>junit<span style="color: #0000ff;"></</span><span style="color: #800000;">groupId</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">></span>junit<span style="color: #0000ff;"></</span><span style="color: #800000;">artifactId</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">version</span><span style="color: #0000ff;">></span>4.10<span style="color: #0000ff;"></</span><span style="color: #800000;">version</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><</span><span style="color: #800000;">scope</span><span style="color: #0000ff;">></span>test<span style="color: #0000ff;"></</span><span style="color: #800000;">scope</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"></</span><span style="color: #800000;">dependency</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"></</span><span style="color: #800000;">dependencies</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"></ <span style="color: #800000;">project<span style="color: #0000ff;">>
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 |?
======================================================== (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|