Eclipse+Maven下Spring与Hibernate整合简单实例(小白入门)
2016-12-10 15:00
701 查看
Maven管理Spring与Hibernate整合简单实例
源码地址:https://github.com/1663727338/SSH-Study1.创建Maven工程
如下图选择quickstart
输入maven工程项目名称
2.创建工程文件夹src/main/resources,用来存放spring、hibernate所需的配置文件
3.在pom.xml中配置spring依赖
<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.lgd.study</groupId> <artifactId>springhibernatetest</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>springhibernatetest</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <spring.version>4.3.0.RELEASE</spring.version> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <!-- spring依赖项 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>${spring.version}</version> </dependency> </dependencies> </project>
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中添加
<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>${hibernate.version}</version> </dependency>
7.配置实体类与数据库表的映射文件user.hbm.xml
user.hbm.xmlweb文件内容如下
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="com.lgd.study.springhibernatetest.App"> <class name="User" table="user"> <id name="id" column="id" type="java.lang.Integer"> <generator class="native"/> </id> <property name="name" column="name" type="java.lang.String"></property> <property name="age" column="age" type="java.lang.Integer"></property> </class> </hibernate-mapping>
8.Mysql数据源配置
pom.xml增加c3p0、mysql的依赖
<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-c3p0</artifactId> <version>${hibernate.version}</version> </dependency> <!-- mysql 连接依赖 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql.version}</version> </dependency>
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的配置
文件内容如下
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd "> <!-- 引入属性文件 --> <context:property-placeholder location="datasource.properties" /> <!-- 使用C3P0数据源,MySQL数据库 --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <!-- MySQL5 --> <property name="driverClass" value="${mysql.driverClassName}"></property> <property name="jdbcUrl" value="${mysql.url}"></property> <property name="user" value="${mysql.username}"></property> <property name="password" value="${mysql.password}"></property> <property name="maxPoolSize" value="40"></property> <property name="minPoolSize" value="1"></property> <property name="initialPoolSize" value="1"></property> <property name="maxIdleTime" value="20"></property> </bean> </beans>
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的配置
<!-- session工厂 --> <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="mappingResources"> <list> <value>/user.hbm.xml</value> </list> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop> <prop key="hibernate.dialect">${hibernate.dialect}</prop> <prop key="hibernate.show_sql">${hibernate.show_sql}</prop> <prop key="hibernate.format_sql">${hibernate.format_sql}</prop> </props> </property> </bean>
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
<!-- --> <bean id="app" class="com.lgd.study.springhibernatetest.App" lazy-init="false"> <property name="sessionFactory" ref="sessionFactory"></property> </bean>
11测试
运行App.java,在Mysql中可以看到有一条数据被添加成功
源码github地址见文开头
相关文章推荐
- 用Maven整合SpringMVC+Spring+Hibernate 框架,实现简单的插入数据库数据功能(二)
- 基于Eclipse Maven的Spring4/Spring-MVC/Hibernate4整合之六:Hibernate的flush和clear
- Eclipse下面的Maven管理的SSH框架整合(Struts,Spring,Hibernate)
- 基于Eclipse Maven的Spring4/Spring-MVC/Hibernate4整合之十二: hibernate利用PostgreSQL自带的SEQUENCE生成主键
- 用Maven整合SpringMVC+Spring+Hibernate 框架,实现简单的插入数据库数据功能
- Maven+Eclipse+Spring MVC简单实例
- Spring+Hibernate:使用注释和OSCache整合的简单实例
- SpringMVC+Hibernate+Spring 简单的一个整合实例
- 基于Eclipse Maven的Spring4/Spring-MVC/Hibernate4整合之十:Spring mvc & hibernate 事务处理(回滚)
- 基于Eclipse Maven的Spring4/Spring-MVC/Hibernate4整合之十四:hibernate关于缓冲机制的巨坑!
- 最简单的 Struts2 Spring2 Hibernate3 整合 实例
- 基于Eclipse Maven的Spring4/Spring-MVC/Hibernate4整合之五:Hibernate的事务管理、手动回滚
- 基于Eclipse Maven的Spring4/Spring-MVC/Hibernate4整合之八:一个简单例子演示Spring-MVC中多种参数传递方式
- Maven+Eclipse+Spring MVC简单实例
- 用Maven整合SpringMVC+Spring+Hibernate 框架,实现简单的插入数据库数据功能(二)
- 用SpringMVC+Hibernate+Spring 简单的一个整合实例
- 基于Eclipse Maven的Spring4/Spring-MVC/Hibernate4整合之七:Hibernate Entity的多字段组成主键处理
- MAVEN入门及——配置、Eclipse整合、命令、基础实例
- 用Maven整合SpringMVC+Spring+Hibernate 框架,实现简单的插入数据库数据功能
- Struts+Spring+Hibernate整合的简单实例