• 3、核心配置文件详解


    3、核心配置文件详解

    MyBatis核心配置文件之environments

    <!--配置连接数据库的环境-->
        <environments default="development">
            <environment id="development">
                <transactionManager type="JDBC"/>
                <dataSource type="POOLED">
                    <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                    <property name="url" value="jdbc:mysql://localhost:3306/ssm?serverTimezone=UTC"/>
                    <property name="username" value="root"/>
                    <property name="password" value="root"/>
                </dataSource>
            </environment>
        </environments>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
            <!--
               environments:配置链接数据库的环境
               属性:
               default:设置默认的使用环境的id
            -->
    
    <!--配置连接数据库的环境-->
        <environments default="development">
            <!--
              environment:设置一个具体的数据库的环境
              属性:
              id:设置环境的唯一标识,不能重复
            -->
            <environment id="development">
            <!--
                transactionManner:设置事务管理器
                属性:
                type:设置事务管理的方式
                type="JDBC|MANAGED"
                JDBC:表示使用的JDBC中原生的事务管理方式
                MANAGED:被管理,例如Spring
            -->
                <transactionManager type="JDBC"/>
                <!--
                    DataSource:设置数据源
                    属性:
                    type:设置数据源类型
                    type="POOLED|UNPOOLED|JNDI"
                    POOLED:表示使用数据库连接池
                    UNPOOLED:不使用数据库连接池
                    JNDI:表示使用上下文中的数据源
                -->
                <dataSource type="POOLED">
                    <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                    <property name="url" value="jdbc:mysql://localhost:3306/ssm?serverTimezone=UTC"/>
                    <property name="username" value="root"/>
                    <property name="password" value="root"/>
                </dataSource>
            </environment>
        </environments>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41

    MyBatis核心配置文件之properties

    <!--引入properties文件,可以在当前文件中使用${key}的方式来访问 -->
        <properties resource="jdbc.properties"></properties>
    
    • 1
    • 2

    新建jdbc.properties

    jdbc.driver=com.mysql.cj.jdbc.Driver
    jdbc.url=jdbc:mysql://localhost:3306/ssm?serverTimezone=UTC
    jdbc.username=root
    jdbc.password=root
    
    • 1
    • 2
    • 3
    • 4
                <dataSource type="POOLED">
                    <property name="driver" value="${jdbc.driver}"/>
                    <property name="url" value="${jdbc.url}"/>
                    <property name="username" value="${jdbc.username}"/>
                    <property name="password" value="${jdbc.password}"/>
                </dataSource>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    MyBatis核心配置文件之typealiases

    MyBatis核心配置文件中的标签必须按照指定的顺序配置

    <!--
    MyBatis核心配置文件中的标签必须按照指定的顺序配置
        The content of element type "configuration" must match 
        "(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,reflectorFactory?,plugins?,environments?,databaseIdProvider?,mappers?)".
    -->
    
    • 1
    • 2
    • 3
    • 4
    • 5
    <!--
            typealiases:设置类型别名,即为某个具体的类型设置一个别名
            在MyBatis的范围内,就可以使用别名来表示一个具体的类型
        -->
        <typeAliases>
            <!--
                type:设置需要起别名的类型
                alias:设置某个类型的别名
            -->
    <!--        <typeAlias type="com.gao.mybatis.pojo.User" alias="abc"></typeAlias>-->
            <!--如果不设置alias,默认User(类名),不区分大小写-->
    <!--        <typeAlias type="com.gao.mybatis.pojo.User"></typeAlias>-->
            <!--通过包设置类型别名,指定包下所有的类型将全部拥有默认的别名,即类名,不区分大小写-->
            <package name="com.gao.mybatis.pojo"/>
        </typeAliases>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    测试:

    <!--    List<User> getAllUser();-->
        <select id="getAllUser" resultType="User">
            select * from t_user
        </select>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    MyBatis核心配置文件之mappers

        <mappers>
    <!--        <mapper resource="mappers/UserMapper.xml"/>-->
            <!--
                以包的形式来引入映射文件,但是必须满足两个条件:
                1.mapper接口和映射文件所在的包必须一致
                2.mapper接口的名字和映射文件的名字一致
            -->
            <package name="com.gao.mybatis.mapper"/>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    IDEA创建MyBatis核心配置文件和映射文件的模板

    setting—>editor----->file and code templates
    在这里插入图片描述
    mybatis-config.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>
    <!--
        MyBatis核心配置文件中的标签必须按照指定的顺序配置
        The content of element type "configuration" must match 
        "(properties?,settings?,typeAliases?,typeHandlers?,
        objectFactory?,objectWrapperFactory?,reflectorFactory?,
        plugins?,environments?,databaseIdProvider?,mappers?)".
    -->
    <properties resource="jdbc.properties"></properties>
    
     <typeAliases>
     <!--通过包设置类型别名,指定包下所有的类型将全部拥有默认的别名,即类名,不区分大小写-->
      <package name=""/>
     </typeAliases>
     
     <environments default="development">
     <environment id="development">
     <transactionManager type="JDBC"/>
     <dataSource type="POOLED">
     <property name="driver" value="${jdbc.driver}"/>
     <property name="url" value="${jdbc.url}"/>
     <property name="username" value="${jdbc.username}"/>
     <property name="password" value="${jdbc.password}"/>
     </dataSource>
     </environment>
     </environments>
     
     <!--引入MyBatis的映射文件-->
     <mappers>
     <package name=""/>
     </mappers>
    </configuration>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36

    UserMapper.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="">
    
    </mapper>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    使用模板搭建MyBatis框架

    在这里插入图片描述
    log4j.xml(文件名不能改):

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
    <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
        <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
            <param name="Encoding" value="UTF-8" />
            <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="%-5p %d{MM-dd HH:mm:ss,SSS}
    %m (%F:%L) \n" />
            </layout>
        </appender>
        <logger name="java.sql">
            <level value="debug" />
        </logger>
        <logger name="org.apache.ibatis">
            <level value="info" />
        </logger>
        <root>
            <level value="debug" />
            <appender-ref ref="STDOUT" />
        </root>
    </log4j:configuration>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    mybatis-config.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>
        <!--
        MyBatis核心配置文件中的标签必须按照指定的顺序配置
        The content of element type "configuration" must match 
        "(properties?,settings?,typeAliases?,typeHandlers?,
        objectFactory?,objectWrapperFactory?,reflectorFactory?,
        plugins?,environments?,databaseIdProvider?,mappers?)".
    -->
        <properties resource="jdbc.properties"></properties>
    
        <typeAliases>
            <!--通过包设置类型别名,指定包下所有的类型将全部拥有默认的别名,即类名,不区分大小写-->
            <package name="com.gao.mybatis.pojo"/>
        </typeAliases>
    
        <environments default="development">
            <environment id="development">
                <transactionManager type="JDBC"/>
                <dataSource type="POOLED">
                    <property name="driver" value="${jdbc.driver}"/>
                    <property name="url" value="${jdbc.url}"/>
                    <property name="username" value="${jdbc.username}"/>
                    <property name="password" value="${jdbc.password}"/>
                </dataSource>
            </environment>
        </environments>
    
        <!--引入MyBatis的映射文件-->
        <mappers>
            <package name="com.gao.mybatis.mapper"/>
        </mappers>
    </configuration>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36

    mybatis-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">
    <mapper namespace="com.gao.mybatis.mapper.UserMapper">
    
    </mapper>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    pom文件:

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>com.gao.mybatis</groupId>
        <artifactId>mybatis_parameter</artifactId>
        <version>1.0-SNAPSHOT</version>
        <packaging>jar</packaging>
    
    
        <properties>
            <maven.compiler.source>8</maven.compiler.source>
            <maven.compiler.target>8</maven.compiler.target>
        </properties>
    
        <dependencies>
            <!-- Mybatis核心 -->
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>3.5.10</version>
            </dependency>
            <!-- junit测试 -->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.12</version>
                <scope>test</scope>
            </dependency>
            <!-- MySQL驱动 -->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>8.0.29</version>
            </dependency>
            <!-- log4j日志 -->
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>1.2.17</version>
            </dependency>
        </dependencies>
    
    </project>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46

    jdbc.prperties:

    jdbc.driver=com.mysql.cj.jdbc.Driver
    jdbc.url=jdbc:mysql://localhost:3306/ssm?serverTimezone=UTC
    jdbc.username=root
    jdbc.password=root
    
    • 1
    • 2
    • 3
    • 4
  • 相关阅读:
    Dubbo 应用切换 ZooKeeper 注册中心实例,流量无损迁移
    [SDN]Mininet中的miniedit问题汇总
    算法设计与分析_练习三_动态规划算法
    关于在WPF xaml中包含另一个window的方法
    物联网边缘计算云边协同
    Spring源码(一)IOC之ClassPathXmlApplicationContext
    obj模型的格式
    【Java基础】数据结构与算法
    Neural Ordinary Differential Equations(NIPS2018)
    【mindspore】【训练警告】执行训练代码时存在的警告
  • 原文地址:https://blog.csdn.net/qq_44774198/article/details/126032795