• Java框架:spring框架整合hibernate框架的xml配置(使用注解的方式)


    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xmlns:context="http://www.springframework.org/schema/context"
    	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
    	http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
    	
    	<!-- 开启Spring注解配置,但是还是需要将JavaBean手动交给Spring IOC容器进行管理 -->
    	<!-- <context:annotation-config/> -->
    	
    	<!-- 会扫描以下@Component,@Repository,@Service,@Controller注解修饰的类,将其交给Spring容器进行管理 ,
    			还包含context:annotation-config配置的所有功能
    			@Component:无法区分该类为那一层操作时用该注解修饰
    			@Repository:用于修饰数据库访问层代码(DAO)
    			@Service:用于修饰业务逻辑层代码
    			@Controller:用于修饰业务流程控制的代码
    			
    			以上四个注解会给JavaBean默认一个名字,规则是将类名的首字母小写
    			但是这四个注解其实在根本没有啥区别
    			-->
    	<context:component-scan base-package="com.zhidi"/>
    	
    	<!-- 将JavaBean交给Spring容器进行管理 -->
    	<!-- autowire-candidate="false" 会将该bean排除到自动注入列表之外 -->
    	<bean class="com.zhidi.dao.UserDao" autowire-candidate="false" />
    	<!-- priamry=true,会将该bean做为优先注入的对象 -->
    	<bean class="com.zhidi.dao.UserDao" primary="true"/>
    	<bean class="com.zhidi.dao.UserDao" />
    	<bean id="userDao" class="com.zhidi.dao.UserDao" />
    
    	<!-- autowire="byType" 按照类型进行自动装配 -->
    	<!-- autowire="byName" 按照名称进行装配 -->
    	<bean class="com.zhidi.service.UserService" autowire="byName">
    		<!-- 手动构建依赖 -->
    		<!-- <property name="userDao" ref="userDao"/> -->
    	</bean>
    	
    	<bean class="com.zhidi.dao.EmpDao" primary="true"/>
    	<bean id="empDao" class="com.zhidi.dao.EmpDao"/>
    	
    	<bean class="com.zhidi.service.EmpService"/>
    	
    	
    	<bean class="com.zhidi.dao.DeptDao"/>
    	
    	<bean class="com.zhidi.service.DeptService"/>
    	
    	<bean class="com.zhidi.TestLifeDemo"></bean>
    	
    	<!-- 将创建SessionFactory的类交给Spring IOC容器进行管理 -->
    	<bean class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    		<!-- 对Hibernate的基础属性进行配置 -->
    		<property name="hibernateProperties">
    			<props>
    				<prop key="hibernate.connection.driver_class">com.mysql.jdbc.Driver</prop>
    				<prop key="hibernate.connection.url">jdbc:mysql://localhost:3306/db_hibernate</prop>
    				<prop key="hibernate.connection.username">root</prop>
    				<prop key="hibernate.connection.password">root</prop>
    				<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
    				<prop key="hibernate.current_session_context_class">thread</prop>
    				<prop key="hibernate.show_sql">true</prop>
    				<prop key="hibernate.format_sql">true</prop>
    			</props>
    		</property>
    		<!-- 配置扫描实体类所在包,将其配置到SessionFactory中 -->
    		<property name="packagesToScan" value="com.zhidi.entity"/>
    	</bean>
    	
    </beans>
    

     applicationContext.xml配置文件的内容

    步骤总结:

    1.构建依赖jar

     Spring必须jar(6个)

     Hibernate必须jar

     整合最少还需要导入3个jar,spring-jdbc.x.x ,spring-tx.x.x,spring-orm.x.x  

    2.目的是要创建SessionFactory  

    将LocalSessionFactoryBean交给Spring IOC容器进行管理  

    <bean class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"></bean>  

    3.对Hibernate进行基本属性的配置

     .hibernate.connection.driver_class

     .hibernate.connection.url  .hibernate.connection.username  

    .hibernate.connection.password

     .hibernate.dialect

     .hibernate.current_session_context_class  .hibernate.show_sql

     .hibernate.format_sql  

    4.扫描实体类所在包  

    packagesToScan  

    5.对实体类进行注解配置

    6.将SessionFactory注入到Dao层

    7.通过SessionFactory创建Session对象,进行数据库操作

  • 相关阅读:
    elementui el-upload弹框确定是否上传文件 需要在上传文件前,可以进行弹窗控制是否上传 upload
    postman 下载地址
    axios 详解
    jQuery点击按钮 切换样式
    基于Vant框架的下拉刷新和上滑加载
    Core Animation一些Demo总结 (动态切换图片、大转盘、图片折叠、进度条等动画效果)
    鼠标悬停显示隐藏省略文字
    遮罩层
    二维码网站
    看图说话
  • 原文地址:https://www.cnblogs.com/waarp/p/7449870.html
Copyright © 2020-2023  润新知