Mybatis 框架配置文件详解(SqlMapConfig.xml&&Mapper.xml)

本文详细解析了MyBatis的SqlMapConfig.xml配置文件,包括属性配置、环境设置、数据库连接池配置等,并介绍了Mapper.xml的基本用法及SQL语句的编写。

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

一. 知识点引入:

dtd约束:

|   :    任选其一
,   :    必须按顺序写标签
?   :    可写可不写(重复一次或0次)
*   :    重复0次或多次
+   :    重复一次或多次

二. 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">
<!-- 以上属于固定格式,引入约束 -->

<configuration>
	<!-- 
				properties ?,            配置属性,引入属性的配置文件.
				settings  ?,             核心配置:  缓存,日志.
				typeAliases  ?,        	 类型别名配置.
				typeHandlers  ?,         类型转换操作.
				objectFactory?,
    			objectWrapperFactory?,
    			reflectorFactory?,
				plugins?,                引入mybatis的插件 - ssm综合练习,分页插件
   				environments?,      	 数据库的环境的配置
   			    databaseIdProvider?,     数据库的提供商:不用
    			mappers?            	 引入映射配置文件的
     -->


	<!--提取常用的属性(第一种提取方法)-->
    <!--<properties>-->
        <!--<property name="driver" value="com.mysql.jdbc.Driver"></property>-->
        <!--<property name="url" value="jdbc:mysql://localhost:3306/mybatisdb"></property>-->
        <!--<property name="username" value="root"></property>-->
        <!--<property name="password" value="root"></property>-->
    <!--</properties>-->

    <!--引入属性配置文件[提取常用的属性(第二种提取方法)] 需要引入外部文件"db.properties"-->
    <properties resource="db.properties"></properties>

	<!--别名配置-->
    <typeAliases>    
        <!--别名的映射(第一种方法)[已译注]-->
        <!--<typeAlias type="com.itheima.domain.SysUser" alias="user"></typeAlias>-->
        
        <!--别名的映射(第二种方法)把整个包中的实体类扫描创建别名,别名就是类名,忽略大小写-->
        <package name="com.itheima.domain"></package>       
    </typeAliases>
    
  <!--环境-->
  <!--配置数据库的环境-->
    <environments default="development">
        <environment id="development">
            <!--事务管理器: jdbc的事务-->
            <transactionManager type="JDBC"/>
            <!--数据库连接池的配置
                type属性值:
                    POOLED:采用的是mybatis自带的数据源的配置
                    UNPOOLED:非数据源配置, connection
                    JNDI

                主流的数据源配置
                    c3p0
                    dbcp
                    spring的数据源
                    druid
            -->
      <dataSource type="POOLED">

        <property name="driver" value="${driver}"/>
        <property name="url" value="${url}"/>
        <property name="username" value="${username}"/>
        <property name="password" value="${password}"/>
      </dataSource>
    </environment>
  </environments>
 
  <!--引入配置文件-->
  <mappers>
        <!--引用配置:根据项目路径-->
        <!--<mapper resource="com/itheima/dao/UserDao.xml"/>-->
       
        <!--
        引入配置:      引入dao的接口
               	      前提:xml中的namespace必须与dao接口全类名一致
                      xml的路径必须dao接口的包名一致
        -->
        <!--<mapper class="com.itheima.dao.UserDao"></mapper>-->
        
        <!--必须是一个绝对路径-->
        <!--<mapper url="file:///F:\ideaworkspace\project_66\mybatis_day02_4_crud_config\src\main\resources\com\project\dao\UserDao.xml"></mapper>-->
       
        <!--
            引入配置,引入的是包中所有的接口
           *** 推荐使用***
        -->
        <!--<package name="com.project.dao"></package>-->
    </mappers>
</configuration>

三. Mapper.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">
<!--
    	采用动态代理的方法开发
        namespace必须写dao接口的全类名
        id属性必须与dao接口中的方法名称一致
-->
<mapper namespace="com.project.dao.UserDao">
        <!--
            id属性必须与dao接口中的方法名称一致
            resultType:可以使用别名
            parameterType:也可以使用别名
        -->
        <select id="findAll" resultType="User">
            select *  from sys_user
        </select>
    
        <select id="findById" resultType="User" parameterType="iNt">
            select * from sys_user where id = #{id}
        </select>

</mapper>

Mybatis Mapper.xml 增删改查详解

Mapper.xml 传递参数详解

Mapper.xml 返回值详解

Mapper.xml 动态sql语句

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值