mybatis配置文件中config与mapper的约束

本文详细解析了MyBatis框架的配置过程,包括核心配置文件SQLMapConfig.xml和映射文件Mapper.xml的DTD约束,以及如何配置环境、数据源和映射器。深入探讨了在resources目录中正确设置配置文件的重要性。

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

Config的约束:
<?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">
Mapper的约束:
<?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">
PS:

1:一般这个config的配置文件的约束的名字叫做:SQLMapConfig.xml(在resources中)
2:Mapper的配置文件约束是在resources中与其main中java下接口的相应文件相对应,但是简单来书,main中文件夹是包属性例如:comgaoxin.dao,属于三级结构,但是在resources中目录属于一级结构,需注意。

举例(防止日后看不懂)

SQLMapConfig.xml:

<?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">
<!--Mybatis的主配置文件-->
<configuration>
    <!--配置环境-->
    <environments default="mysql">
        <!--配置mysql的环境,注意,default中的属性,与下边environment中id的属性是一样的-->
        <environment id="mysql">
            <!--配置事务的类型-->
            <transactionManager type="JDBC"></transactionManager>
            <!--配置数据源,也叫作连接池-->
            <dataSource type="POOLED">
                <!--配置连接数据库的四个基本信息-->
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/数据库的名字"/>
                <property name="username" value="数据库用户名"/>
                <property name="password" value="数据库的密码"/>
            </dataSource>
        </environment>
    </environments>
    <!--指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件-->
    <mappers>
        <!--指定文件的位置,要与main中java的文件结构位置相同-->
        <mapper resource="com.gaoxin.dao.IUserDao.xml"></mapper>
    </mappers>
</configuration>

Mapper.xml(也就是java中dao包中接口文件相映射的文件名.xml)

<?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="com.gaoxin.dao.IUserDao">
    <!--配置查询所有,resultType的作用就是返回封装的位置,如果你要是不写的话,最后mybatis是不知道你到底要封装到哪里,会出现错误,我这个是User表,查询的也是这个,最后返回的结果就封装在User类中-->
    <select id="findAll" resultType="com.gaoxin.domain.User">
        SELECT *FROM USER
    </select>
    <!--注意在resources中,目录是一级结构,要一个一个创建,而com.gaoxin.dao是一个目录。而包是三级结构-->
</mapper>
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值