spring-dao.xml

本文详细介绍如何在Spring框架中整合MyBatis,包括数据库连接池配置、SqlSessionFactory设置、Mapper接口扫描等步骤,并提供了完整的XML配置示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?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">
    <!--配置整合mybatis过程-->
    <!--1:配置数据库相关参数-->
    <context:property-placeholder location="classpath:jdbc.properties"/>
    <!--2.数据库连接池-->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">

        <!--配置连接池属性-->
        <property name="driverClass" value="${jdbc.driver}"/>
        <property name="jdbcUrl" value="${jdbc.url}"/>
        <property name="user" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>

        <!--c3p0连接池的私有属性-->
        <property name="maxPoolSize" value="30"/>
        <property name="minPoolSize" value="10"/>
        <!--关闭连接不自动commit-->
        <property name="autoCommitOnClose" value="false"/>
        <!--获取连接超时时间-->
        <property name="checkoutTimeout" value="3000"/>
        <!--当获取链接失败重试次数-->
        <property name="acquireRetryAttempts" value="2"/>
    </bean>
    <!--3.配置SqlSessionFactory对象-->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!--注入数据库连接池-->
        <property name="dataSource" ref="dataSource"/>
        <!--配置mybatis全局配置文件-->
        <property name="configLocation" value="classpath:mybatis-config.xml"/>
        <!--扫描entity包 使用别名 可以简化书写 多个包时用;隔开-->
        <property name="typeAliasesPackage" value="org.seckill.entity"/>
        <!--扫描sql配置文件:mapper需要的xml文件-->
        <property name="mapperLocations" value="classpath:mapper/*.xml"/>
    </bean>
    <!--4.配置扫描Dao接口包,动态实现dao接口,注入到spring容器中-->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <!--注入sqlSessionFactory-->
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
        <!--给出需要扫描dao接口包-->
        <property name="basePackage" value="dao包名"/>
    </bean>
</beans>

#c3po配置
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/seckill?userUnicode=true&characterEncoding=utf8
jdbc.username=root
jdbc.password=root


mybatis

<?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>
    <!--配置全局属性-->
    <settings>
        <!--使用JDBC的getGeneratedKeys获取数据库自增主键值-->
        <setting name="useGeneratedKeys" value="true"/>
        <!--使用列别名替换列名 默认为true-->
        <setting name="useColumnLabel" value="true"/>
        <!--开启驼峰命名转换 Table(create_time) -> Entity(createTime)-->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>
</configuration>





### spring-dao.xml 文件报错解决方案 当遇到 `spring-dao.xml` 配置文件中出现大量错误的情况时,可以从以下几个方面着手解决问题。 #### 1. 检查 XML 文件结构和命名空间声明 确保 `spring-dao.xml` 中的根元素 `<beans>` 正确指定了 Spring 的 XSD 或 DTD 命名空间。任何不匹配或缺失都可能导致解析失败。例如: ```xml <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- bean definitions go here --> </beans> ``` 如果命名空间定义有误,则可能引发一系列连锁反应,造成多个地方显示红色波浪线警告[^1]。 #### 2. 清理并刷新 IDE 缓存 有时开发环境(IDE)内部缓存可能会导致资源加载异常,进而影响到配置文件的状态识别。建议执行清理操作后再重新导入 Maven 工程依赖项来排除此类干扰因素。 对于 IntelliJ IDEA 用户来说,可以通过菜单栏选择 "File -> Invalidate Caches / Restart..." 来完成这项工作;而对于 Eclipse 用户而言,则可以选择 Project->Clean... 并勾选当前项目进行清理[^2]。 #### 3. 移除冗余的 build-resources 配置 根据已有经验,在 POM 文件里不当设置 `build-resources` 可能会影响到 MyBatis 相关资源配置的有效性。具体表现为虽然成功打包了 Mapper 映射文件却丢失了核心配置文件 mybatis-config.xml 。因此应当仔细审查 pom.xml ,移除不必要的 src/main/resources 路径指定部分以避免潜在冲突。 #### 4. 启用调试模式查看详细日志信息 为了更精准定位问题所在位置以及原因分析,可以在启动应用程序时加上 `-Ddebug=true` 参数开启条件评估报告功能。这有助于获取更多关于上下文初始化过程中发生的事件细节描述,从而帮助快速锁定故障源头[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值