SSM 学生管理系统项目分析(4)配置

配置文件共4类:mapper,database-conf,mybatis-conf,spring-conf

database-conf:

配置数据源(c3p0)

c3p0.properties:

c3p0.jdbcUrl=jdbc:mysql://LOCALHOST:3306/ssm_sms?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
c3p0.driverClass=com.mysql.cj.jdbc.Driver
c3p0.user=
c3p0.password=
###### C3P0 configuration information ######
c3p0.maxPoolSize=100
c3p0.minPoolSize=1
c3p0.initialPoolSize=5
c3p0.maxIdleTime=1800
mybatis-conf:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!-- 为sql映射文件中的输入/输出参数设置类型别名 -->
    <!-- 当设置后,该包下的实体类都会注册别名,并且类名就是别名,且大小写不敏感 -->
    <typeAliases>
        <package name="pers.huangyuhui.sms.bean"/>
    </typeAliases>
</configuration>
mapper:

mapper接口映射文件,有admin,clazz,student,grade,teacher

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="pers.huangyuhui.sms.dao.AdminMapper">
    <select id="方法名" parameterType="参数类型" resultType="返回类型"> 
    <!-- 返回类型指单个元素的类型,如返回列表则指列表元素的类型 -->

动态sql:

<!-- name为Admin中的属性名(在Controller层中已将输入的查询的姓名封装到了Admin中的name属性中) -->         
            SELECT ...
            <where>
                <if test="name!=null and name!=''"> <!-- 为真则拼接sql -->
                    AND name LIKE concat(concat('%',#{name}),'%')
                </if>
            </where>
            UPDATE ...
            <set> <!-- 分情况动态更新 -->
                <if test="name!=null and name!=''">name=#{name},</if>
                <if test="gender!=null and gender!=''">gender=#{gender},</if>
                <if test="email!=null and email!=''">email=#{email},</if>
                <if test="telephone!=null and telephone!=''">telephone=#{telephone},</if>
                <if test="address!=null and address!=''">address=#{address},</if>
                <if test="portrait_path!=null and portrait_path!=''">portrait_path=#{portrait_path},</if>
            </set>
            DELETE ... 
            <foreach collection="array" item="ids" open="(" separator="," close=")">
                #{ids} <!-- 批量删除 -->
            </foreach>
spring-conf:

springmvc-config.xml:

...
<!-- 启用注解扫描器: 扫描被@Controller注解的类 -->
<context:component-scan base-package="pers.huangyuhui.sms.controller"/>

<!-- 加载注解驱动 -->
<mvc:annotation-driven/>

<!-- 处理静态资源 -->
<!-- 生成一个检查员,对进入DispatcherServlet的URL进行筛查,如果发现是静态资源的请求,就将该请求转由Web应用服务器默认的Servlet处理,如果不是静态资源的请求,才由DispatcherServlet继续处理 -->
<mvc:default-servlet-handler/>

<!-- 配置拦截器 -->
<mvc:interceptors>
    <mvc:interceptor>
        <mvc:mapping path="/**"/>
        <mvc:exclude-mapping path="/static/h-ui/**"/>
        <mvc:exclude-mapping path="/static/easyui/**"/>
        <mvc:exclude-mapping path="/system/login"/>
        <mvc:exclude-mapping path="/system/getVerifiCodeImage"/>
        <bean class="pers.huangyuhui.sms.interceptor.LoginInterceptor"/>
    </mvc:interceptor>
</mvc:interceptors>

<!-- 配置文件上传解析器 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <!-- 指定请求编码格式 -->
    <property name="defaultEncoding" value="UTF-8"/>
    <!-- 指定指定允许上传文件的最大值(20MB) -->
    <property name="maxUploadSize" value="20971520"/>
</bean>

<!-- 配置视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/view/"/>
    <property name="suffix" value=".jsp"/>
</bean>

applicationContext.xml:

<!-- 读取c3p0.properties中的数据库配置信息 -->
<context:property-placeholder location="classpath:database-conf/c3p0.properties"/>

<!-- 配置数据源 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    <!-- 数据库驱动 -->
    <property name="driverClass" value="${c3p0.driverClass}"/>
    <!-- 连接数据库的url -->
    <property name="jdbcUrl" value="${c3p0.jdbcUrl}"/>
    <!-- 连接数据库的用户名 -->
    <property name="user" value="${c3p0.user}"/>
    <!-- 连接数据库的密码 -->
    <!-- 初始化连接数 -->
    <!-- 最大连接数 -->
    <!-- 最小连接数 -->
    <!-- 连接的生存时间 -->
</bean>

<!-- 配置Spring事务管理器 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <!-- 原理:控制数据源 -->
    <property name="dataSource" ref="dataSource"/>
</bean>

<!-- 开启事务注解扫描 -->
<tx:annotation-driven transaction-manager="transactionManager"/>

<!-- MyBatis与Spring整合 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <!-- 注入数据源 -->
    <property name="dataSource" ref="dataSource"/>
    <!-- 指定Mapper映射文件位置 -->
    <property name="mapperLocations" value="classpath:mapper/*.xml"/>
    <!-- 指定MyBatis核心配置文件位置 -->
    <property name="configLocation" value="classpath:/mybatis-conf/mybatis-config.xml"/>
    <!-- 引入插件 -->
    <property name="plugins">
        <array>
            <!-- 引入MyBaits分页插件 -->
            <bean class="com.github.pagehelper.PageInterceptor">
                <property name="properties">
                    <!-- 指定数据库类型 -->
                    <value>helperDialct=mysql</value>
                </property>
            </bean>
        </array>
    </property>
</bean>

<!-- 开启Mapper接口扫描器: 扫描Dao层 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="basePackage" value="pers.huangyuhui.sms.dao"/>
</bean>

<!-- 开启Spring IOC注解扫描器: 扫描Servie层-->
<context:component-scan base-package="pers.huangyuhui.sms.service"/>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值