zoukankan      html  css  js  c++  java
  • SSH(五)spring整合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.Finalprojectetchibernate.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会自动连接数据库并根据配置映射在数据库中创建实体对应的表。

    三、启动项目观察数据库

    运行创建成功!

  • 相关阅读:
    Material和SharedMaterial的区别
    unity 字典序列化的问题
    序列化到本地
    数据分离
    太久没更 重回博客园
    Unity下替换模型后 之前生成的Prefab中的原模型脚本不会丢失
    Enum.Parse
    Assert断言机制
    20170612
    Unity Cookie
  • 原文地址:https://www.cnblogs.com/ckxlovejava/p/7061901.html
Copyright © 2011-2022 走看看