Hibernate连接mysql数据库

1.my.ini一定将编码集改为utf8

2.Hibernate配置文件为:

<?xml version="1.0" encoding="UTF-8"?>
<!-- 指定Spring配置文件的DTD信息 -->
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
	"http://www.springframework.org/dtd/spring-beans-2.0.dtd">

<beans>
    
<bean id="dataSource"  class="com.mchange.v2.c3p0.ComboPooledDataSource" 
destroy-method="close" abstract="false" 
      lazy-init="default" autowire="default" dependency-check="default">
	<!-- 指定连接数据库的驱动 -->
	<property name="driverClass" value="com.mysql.jdbc.Driver"/>
	<!-- 指定连接数据库的URL -->
	<property name="jdbcUrl"
		value="jdbc:mysql://localhost:3306/hbut_study?useUnicode=true&
		characterEncoding=gbk&autoReconnect=true"/>
    <!-- 指定连接数据库的用户名 -->
    <property name="user" value="root"/>
    <!-- 指定连接数据库的密码 -->
    <property name="password" value=""/>
	<!-- 指定连接数据库连接池的最大连接数 -->
	<property name="maxPoolSize" value="40"/>
	<!-- 指定连接数据库连接池的最小连接数 -->
	<property name="minPoolSize" value="10"/>
	<!-- 指定连接数据库连接池的初始化连接数 -->
	<property name="initialPoolSize" value="10"/>
	<!-- 指定连接数据库连接池的连接的最大空闲时间 -->
	<property name="maxIdleTime" value="20"/>
</bean>

<!-- 定义Hibernate的SessionFactory -->
	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<!-- 依赖注入数据源,注入上面定义的dataSource -->
		<property name="dataSource" ref="dataSource"/>
		<!-- mappingResouces属性用来列出全部映射文件 -->
		<property name="mappingLocations">
			<list>
				<!-- 以下用来列出Hibernate映射文件 -->
				<value>classpath:com/hbutStudy/hbm/*.hbm.xml</value>
			</list>
		</property>
		<!-- 定义Hibernate的SessionFactory的属性 -->
		<property name="hibernateProperties">
			<props>
				<!-- 指定数据库方言 -->
				<prop key="hibernate.dialect">
					org.hibernate.dialect.MySQLDialect</prop>
				<!-- 是否根据需要每次自动创建数据库 -->
				<prop key="hibernate.hbm2ddl.auto">update</prop>
				<!-- 显示Hibernate持久化操作所生成的SQL -->
				<prop key="hibernate.show_sql">true</prop>
				<!-- 将SQL脚本进行格式化后再输出 -->
				<prop key="hibernate.format_sql">true</prop>
			</props>
		</property>
	</bean>  
	
	<!--  配置Hibernate的事务管理器-->
	<!--  使用HibernateTransactionManager类,该类是PlatformTransactionManager接口类
	                针对采用Hibernate持久化连接的特定实现-->
	<bean id="transactionManager_1" 
	      class="org.springframework.orm.hibernate3.HibernateTransactionManager">
	<!-- HibernateTransactionManager bean需要依赖注入一个SessionFactory bean的引用 -->                  
	      <property name="sessionFactory"><ref local="sessionFactory"/></property>             
	</bean>
	
    	<!-- 定义事务拦截器 -->
	<bean id="transactionInterceptor"
	      class="org.springframework.transaction.interceptor.TransactionInterceptor">
	      <!-- 事务拦截器bean需要依赖注入一个事务管理器 -->
	      <property name="transactionManager" ref="transactionManager_1"/>
	      <property name="transactionAttributes">
	            <props>
	               <prop key="insert*">PROPAGATION_REQUIRED</prop>
	               <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
	               <prop key="*">PROPAGATION_REQUIRED</prop>
	            </props>
	      </property>
	</bean> 
	<!-- 定义一个BeanPostProcessor bean
	     spring提供BeanPostProcessor的实现类BeanNameAutoProxyCreator-->
	<bean  class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
	      <!-- 指定对满足那些bean name的bean自动生成业务代理 -->
	      <property name="beanNames">
	           <value>*Service_bak</value>
	      </property>
          <!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器 -->
	      <property name="interceptorNames">
	           <list>
	              <value>transactionInterceptor</value>
	              <!-- 此处可以增加其它新的Interceptor -->
	           </list>
	      </property>
	</bean>
	         
</beans>

你可能感兴趣的:(mysql,bean,Hibernate,数据库,数据库连接池,Interceptor)