Maven管理Spring与Hibernate整合简单实例
1.创建Maven工程
如下图选择quickstart
输入maven工程项目名称
2.创建工程文件夹src/main/resources,用来存放spring、hibernate所需的配置文件
3.在pom.xml中配置spring依赖
4.0.0
com.lgd.study
springhibernatetest
0.0.1-SNAPSHOT
jar
springhibernatetest
http://maven.apache.org
UTF-8
4.3.0.RELEASE
junit
junit
3.8.1
test
org.springframework
spring-core
${spring.version}
org.springframework
spring-beans
${spring.version}
org.springframework
spring-context
${spring.version}
org.springframework
spring-orm
${spring.version}
4.Mysql建立user表
id为主键,拥有auto_increment属性
5.创建数据库表对应的实体类user
User.java文件内容如下
package com.lgd.study.springhibernatetest;
public class User {
private Integer id;
private String name;
private Integer age;
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;
}
}
6.配置hibernate依赖
pom.xml中添加
org.hibernate
hibernate-core
${hibernate.version}
7.配置实体类与数据库表的映射文件user.hbm.xml
user.hbm.xmlweb文件内容如下
8.Mysql数据源配置
pom.xml增加c3p0、mysql的依赖
org.hibernate
hibernate-c3p0
${hibernate.version}
mysql
mysql-connector-java
${mysql.version}
resources文件夹下新建数据库配置文件datasource.properties
文件内容如下,可根据具体环境自行配置
validationQuery=SELECT 1
mysql.driverClassName=com.mysql.jdbc.Driver
mysql.url=jdbc:mysql://localhost:3306/sshdb
mysql.username=lgd
mysql.password=P@ssw0rd
创建beans.xml文件并添加datasource的配置
文件内容如下
9.SessionFactory的配置
datasource.properties中增加如下配置
hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.hbm2ddl.auto=update
hibernate.show_sql=true
hibernate.format_sql=false
beans.xml中添加sessionFactory的配置
/user.hbm.xml
${hibernate.hbm2ddl.auto}
${hibernate.dialect}
${hibernate.show_sql}
${hibernate.format_sql}
10.测试类App实现
App.Java文件内容如下
package com.lgd.study.springhibernatetest;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class App {
private static SessionFactory sessionFactory;
public static void main(String[] args) {
//加载bean
new ClassPathXmlApplicationContext("beans.xml");
//session
Session session = sessionFactory.openSession();
User user = new User();
user.setName("lgd");
user.setAge(22);
session.save(user);
System.out.println("AppMain is done.");
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
public static void setSessionFactory(SessionFactory sessionFactory) {
App.sessionFactory = sessionFactory;
}
}
在beans.xml中添加App对应bean
11测试
运行App.java,在Mysql中可以看到有一条数据被添加成功
源码github地址见文开头