MyBatis全局配置文件conf.xml基本说明

MyBatis全局配置文件conf.xml详细讲解

加载外部的配置文件

<!-- 加载外部的配置文件 -->
<properties resource="xxx.properties"/>
db.properties配置数据库参数

在这里插入图片描述
重要的配置参数

<!-- 重要的配置参数 -->
<settings>
    <!-- 开启驼峰命名规则 -->
    <setting name="mapUnderscoreToCamelCase" value="true"/>
    <!-- 配置Log4j -->
    <setting name="logImpl" value="LOG4J"/>
</settings>

起别名

<typeAliases>
    <!-- 为某个java类型起别名(别名 忽略大小写) -->
    <typeAlias type="xxx.xxx."  alias="xxx" />
    <!-- 批量定义别名 会将包中的类批量定义别名 一般直接写实体类的类名即可 -->
    <package name="xxx.xxx" />
    <!-- 批量别名的情况下,如果类名重复,可以使用@Alias注解为某个类型指定新的别名 -->
</typeAliases>

注解起别名
配置多种环境

<!-- mybatis配置多种环境 通过default指定某个环境用于切换环境-->
<environments default="xxx">
    <!-- environment必须得有transactionManager和dataSource -->
    <environment id="xxx">
       <!-- transactionManager配置事务提交方式type:
              JDBC:利用jdbc方式处理事务,需要自己提交(默认jdbc方式)
              MANAGED:将事务交由其他组件去托管 默认会关闭连接
                                  如果MANAGED方式不想关闭连接,<property name="closeConnection" value="false"/>
        -->
        <transactionManager type="JDBC"/>
        <!-- 数据源有三种
              UNPOOLED:传统的JDBC模式(需要创建连接,打开关闭数据库,非常消耗性能)
              POOLED:数据库连接池
              JNDI:Tomcat内置的数据库连接池
     -->
        <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>

在这里插入图片描述

<!-- databaseIDProvider:支持多数据库厂商 
    type="DB_VENDOR"填写的是数据库厂商的标识(驱动自带的getDatabaseProductName)
    MySQL
    具体使用应在Mapper.xml文件的具体SQL标签填写一个属性databaseId="mysql",表示这条SQL使用的是mysql数据库
-->
<databaseIdProvider type="DB_VENDOR">
    <!-- 为不同的数据库厂商起别名 -->    
    <property name="MySQL" value="mysql"/>
    <property name="Qracle" value="oracle"/>
    <property name="SQL Server" value="sqlserver"/>
</databaseIdProvider>

在这里插入图片描述
mappers

<!-- mappers用于配置多个映射文件,将SQL映射注册到全局配置中
    有三个属性
    resource="xxx/xxx/xxxMapper.xml" 引用类路径下的sql映射文件
    url="xxx/xxx/xxxMapper.xml" 引用的是网络路径或磁盘路径下的sql映射文件
   
 -->
<mappers>
    <!-- mapper用于配置单映射文件,resource指定映射文件的路径 -->
    <mapper resource="xxx/xxx/xxxMapper.xml"/>
    <!-- 批量注册(一般写映射文件的包) -->
    <package name="xxx.xxx.xxx"/>
</mappers>

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
MyBatis 是一款使用 XML 或注解配置的持久层框架,它可以自动化地将数据库中的数据映射到 Java 对象中。在 MyBatis 中,mapper 与 mapper.xml 是配对使用的,其中 mapper 是接口,而 mapper.xml 是映射配置文件。 mapper 接口中定义了数据库操作的方法,而 mapper.xml 中则定义了这些方法的 SQL 语句以及参数映射规则、结果集映射规则等。 下面是一个简单的例子: 1. 定义 mapper 接口 ```java public interface UserMapper { User selectUserById(Integer id); } ``` 2. 定义 mapper.xml 映射配置文件 ```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.example.UserMapper"> <resultMap id="userResultMap" type="com.example.User"> <id column="id" property="id"/> <result column="username" property="username"/> <result column="password" property="password"/> </resultMap> <select id="selectUserById" resultMap="userResultMap"> SELECT * FROM user WHERE id = #{id} </select> </mapper> ``` 上述代码中,namespace 属性指定了 mapper 接口的全限定名,resultMap 标签定义了一个结果集映射规则,select 标签定义了一个查询操作,其中 id 属性指定了 mapper 接口中的方法名,resultMap 属性指定了结果集映射规则的 id。 3. 在 MyBatis 配置文件中引入 mapper.xml ```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> <mappers> <mapper resource="com/example/UserMapper.xml"/> </mappers> </configuration> ``` 上述代码中,mapper 标签指定了映射配置文件的位置。 这样就完成了 mapper 与 mapper.xml 的配置。在代码中调用 selectUserById 方法时,MyBatis 会根据 mapper.xml 中的配置自动生成 SQL 语句,并将查询结果映射到 User 对象中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

codewen77

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值