SSHspring整合hibernate
Posted 沙弥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSHspring整合hibernate相关的知识,希望对你有一定的参考价值。
一、创建hibernate实体映射文件。
在实体所在包创建映射文件product.hbm.xml,引入hibernate的映射约束。(该约束位于hibernate3.jar里面hibernate-mapping-3.0.dtd,可cope使用)如下图:
product.hbm.xml:
<?xml version="1.0" encoding="UTF-8"?> <!-- hibernate约束头信息:hibernate3.jar→org,hibernate→hibernate-mapping-3.0.dtd --> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <!-- name:实体的全路径 table:映射创建的DBA表名 --> <class name="com.ssh.entity.product" table="product"> <id name="pid" column="pid"> <!--class="native" 主键生成侧路:本地策略 --> <generator class="native"></generator> </id> <property name="pname" column="pname" length="20"></property> <property name="price" column="price"></property> </class> </hibernate-mapping>
二、利用spring引入属性文件的方式连接数据库
2.1在项目src下新建dba连接属性文件jdbc.produce,用来保存数据库连接的基本参数:
jdbc.driverClass=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/ssh jdbc.username=root jdbc.password=123456
2.2在applicationcontext.xml中利用context:property-placeholder标签引入属性文件,为连接池准备参数:
<!-- 引入外部属性文件 --> <context:property-placeholder location="classpath:jdbc.produce"/>
2.3在applicationcontext.xml配置连接池 :利用引入配置文件属性为连接池赋值
<!-- 配置连接池 :利用引入配置文件属性为连接池赋值 --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="${jdbc.driverClass}"></property> <property name="jdbcUrl" value="${jdbc.url}"></property> <property name="user" value="${jdbc.username}"></property> <property name="password" value="${jdbc.password}"></property> </bean>
2.4在applicationcontext.xml配置hibernate属性和加载映射文件:
(hibernate方言位置:hibernate-release-5.2.8.Final\\project\\etc\\hibernate.properties)如下图:
applicationcontext.xml配置映射:(注意sessionfactory的hibernate版本的引入,根据自己hibernate版本来)
<!-- 配置hibernate的相关属性:spring启动根据该配置创建映射表 --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <!-- 注入连接池 --> <property name="dataSource" ref="dataSource"></property> <!-- 配置hibernate属性 --> <property name="hibernateProperties"> <props> <!-- hibernate.dialect:hibernate方言 --> <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.format_sql">true</prop> <prop key="hibernate.hbm2ddl.auto">update</prop> </props> </property> <!-- 配置hibernate中的映射文件 --> <property name="mappingResources"> <list> <!-- 映射文件全路径 --> <value>com/ssh/entity/product.hbm.xml</value> </list> </property> </bean>
完成以上操作后,在启动项目时,系统加载初始化spring时加载applicationcontext.xml会自动连接数据库并根据配置映射在数据库中创建实体对应的表。
三、启动项目观察数据库
运行创建成功!
以上是关于SSHspring整合hibernate的主要内容,如果未能解决你的问题,请参考以下文章