优化版基于xml的基础上进行改进的,
xml版本:https://blog.csdn.net/Gray_humor/article/details/88849206
主要和xml版本的区别是把hibernate.cfg.xml中的配置都挪到spring的配置文件中:
配置方式:
<!-- 配置SessionFactory -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<!-- 1、连接数据库的信息 -->
<property name="dataSource" ref="dataSource"></property>
<!-- 2、hibernate的基本配置 -->
<property name="hibernateProperties">
<props>
<!-- 数据库的方言-->
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
<!-- 是否显示sql语句-->
<prop key="hibernate.show_sql">true</prop>
<!-- 是否格式化sql语句-->
<prop key="hibernate.format_sql">false</prop>
<!-- 采用何种方式生成数据库表结构 -->
<prop key="hibernate.hbm2ddl.auto">update</prop>
<!-- 是spring把sesion绑定到当前线程上的配置 -->
<prop key="hibernate.current_session_context_class">
org.springframework.orm.hibernate5.SpringSessionContext
</prop>
</props>
</property>
<!-- 3、映射文件的位置
mappingResources:配置映射文件的位置,需要写映射文件名称。
并且有几个映射文件,就要写几个<value></value>。
mappingLocations:配置映射文件的位置,需要写映射文件名称。可以使用通配符。
mappingDirectoryLocations:配置映射文件的位置,直接写到包的目录即可。
-->
<property name="mappingLocations">
<array>
<value>classpath:com/itheima/domain/*.hbm.xml</value>
</array>
</property>
</bean>
<!-- 配置数据源 -->
<!--配置数据源-->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="com.mysql.jdbc.Driver"></property>
<property name="jdbcUrl" value="jdbc:mysql:///crm"></property>
<property name="user" value="root"></property>
<property name="password" value="1234"></property>
</bean>