ssm框架创建简单的DVD管理系统(四)spring的配置与mybatis的配置

本文介绍如何通过Spring框架整合MyBatis实现持久层操作,包括配置数据源、事务管理及DAO层接口扫描等内容。

在此之前编写dao层接口,pojo层:详细看代码

一.spring的配置(需要命名空间aop;beans;context;tx)
applicationContext.xml文件:

<!--扫描包  -->
    <context:component-scan base-package="com.pan.web" use-default-filters="true">
        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    </context:component-scan>

    <!--数据源配置  -->
    <context:property-placeholder location="classpath:dbconfig.properties"/>
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="jdbcUrl" value="${jdbc.url}"></property>
        <property name="driverClass" value="${jdbc.driver}"></property>
        <property name="user" value="${jdbc.uname}"></property>
        <property name="password" value="${jdbc.password}"></property>
    </bean>

    <!-- 配置mybatis整合 -->
    <bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"></property>
        <!-- mybatis 全局配置-->
        <property name="configLocation" value="classpath:mybatis-config.xml"></property>
        <!--mybatis 接口映射配置  -->
        <property name="mapperLocations" value="classpath:mapper/*.xml"></property>     
    </bean>
    <!-- 配置可以批量操作的sqlsessiondactory
    <bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
    支持批量操作,成功返回-2147482646
        <constructor-arg name="sqlSessionFactory" ref="sqlSessionFactoryBean"></constructor-arg>
        <constructor-arg name="executorType" value="BATCH"></constructor-arg>
    </bean> -->

    <!-- 扫描器,将mybatis下的dao接口配置到IOC容器中 -->
    <bean id="MapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.pan.web.dao"></property>
    </bean>

    <!--事务管理器 -->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"></property>
    </bean>


    <aop:config>
        <!-- 配置切入点 -->
        <aop:pointcut expression="execution(* csom.pan.web.service..*(..))" id="txPoint"/>
        <!--配置事务增强  --> 
        <aop:advisor advice-ref="txAdvice" pointcut-ref="txPoint"/>
    </aop:config>

    <!-- 事务如何切入 -->
    <tx:advice id="txAdvice" transaction-manager="transactionManager">
        <tx:attributes>
        <!-- 所有方法都是事务方法  -->
            <tx:method name="*"/>
            <!-- 以get开始的所有方法  -->
            <tx:method name="get*" read-only="true"/>
        </tx:attributes>
    </tx:advice>

二.mybatis的配置
1.dbconfig.properties数据源

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/dvdsystem?useSSL=true
jdbc.uname=你的用户名
jdbc.password=你的密码

2.mybatis-config.xml全局配置

<configuration>
<!-- mapUnderscoreToCamelCase驼峰命名法 -->
<!--  aggressiveLazyLoading 所有属性是否一开始全部加载-->
<settings>
    <setting name="mapUnderscoreToCamelCase" value="true"/>
    <setting name="lazyLoadingEnabled" value="true"/>
    <setting name="aggressiveLazyLoading" value="false"/>

</settings>

<typeAliases>
    <!-- package为某个包下的所有批量取别名,别名为类名,不区分大小写 -->
    <package name="com.pan.web.ben"/>
</typeAliases>
<plugins>
    <!-- com.github.pagehelper为PageHelper类所在包名 -->
    <plugin interceptor="com.github.pagehelper.PageInterceptor">
        <property name="reasonable" value="true"/>
    </plugin>
</plugins>

3.映射文件mapper(DVDDao;RecordDao;UserDao)详情看代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值