MyBatis入门踩坑之配置文件基础属性介绍

全局配置文件.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>
  <!--
         1、mybatis可以使用properties来引入外部properties配置文件的内容
            resource:引入类路径下的资源
            url:引入网络路径或者磁盘路径下的资源
     -->
    <properties resource="dbconfig.properties"></properties>

    <!--
          2、settings包含了很多重要的设置项
            setting:用来设置每一个设置项
                name:设置项名
                value:设置项取值
     -->
    <settings>
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>

    <!--   3.typeAliases:别名处理器:可以为我们的Java类型起别名
                别名不区分大小写
         -->
    <typeAliases>
        <!--
             第一种:typeAlias:为某个java类型起别名
                    type:指定要起别名的类型全类名;默认别名就是类名小写,employee
                    alias:指定新的别名
        -->

        <!--        <typeAlias type="com.atguigu.mybatis.bean.Employee" alias="emp"/>-->

        <!--  第二种:package: 为某个包下的所有类批量起别名
                 name:指定包名(为当前包以及下面所有的后代包的每一个类都起一个默认别名(类名小写))
             -->
        <package name="com.atguigu.mybatis.bean"/>

        <!--  第三种:批量起别名的情况下,使用@Alias注解为某个类型指定新的别名    -->
    </typeAliases>

    <!-- 类型处理器 <typeHandlers></typeHandlers>  -->

    <!--    4.environments:环境们,mybatis可以配置多种环境,default指定使用某种环境
                environment:配置一个具体的环境配置,必须有两个标签;id表示当前环境的唯一标识
                    transactionManager 事务管理器
                                type:事务管理的类型;JDBC (JdbcTransactionFactory) | MANAGED(ManagedTransactionFactory)
                                        自定义事务管理器:实现TransactionFactory接口,type指定为全类名
                   dataSource:数据源;
                        type:数据源类型;UNPOOLED(不使用连接池计数)( UnpooledDataSourceFactory )
                        |POOLED(使用连接池计数) ( PooledDataSourceFactory )
                        |JNDI   ( JndiDataSourceFactory )
                   自定义数据源:实现DataSourceFactory接口,type是全类名
      -->
    <environments default="development">
        <!--   id="test" 可作为测试人员环境  仅需要更改 default  -->
        <environment id="test">
            <transactionManager type=""></transactionManager>
            <dataSource type=""></dataSource>
        </environment>

        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <!--
                    Mysql使用jdbc连接数据库
                 -->
                <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">
        <!--   为不同的数据库厂商起别名     -->
        <property name="MySQL" value="mysql"/>
        <property name="SQL Server" value="sqlserver"/>
        <property name="Oracle" value="oracle"/>
    </databaseIdProvider>

    <!--  6、mappers : 将sql映射注册到全局配置中   -->
    <!--将我们写好的sql映射文件(EmployeeMapper.xml)一定要注册到全局配置文件(mybatis-config)中-->
    <mappers>
        <!--   mapper :注册一个sql映射
                    注册配置文件
                    resource:引用类路径下的sql映射文件
                    url:引用网络或者磁盘路径下的sql映射文件
                        <mapper url="file:///var/mappers/AuthorMapper.xml"/>
               注册接口
               class:引用(注册)接口
                    1。有sql映射文件,映射文件名必须与接口同名,并且放在接口同一目录底下
                    2。没有sql映射文件,所有的sql都是利用注解写在接口上的
                  推荐:比较重要的Dao接口我们来写sql映射文件
                        不重要的/简单的Dao接口为了开发快速可以使用注解
        <mapper resource="mybatis/mapper/EmployeeMapper.xml"/>
        <mapper class="com.atguigu.mybatis.dao.EmployeeMapperAnnotation"/>
        -->
        <!--   package:批量注册     -->
        <package name="com.atguigu.mybatis.dao"/>
    </mappers>
</configuration>

数据库设计表

  • 此处简单做个测试并简短说明记录一下
  • 上述代码第二点mapUnderscoreToCamelCase 驼峰转换获取数据库里面的数据。
  • 数据库中一个表某列设置为last_name,必须要这么写才可以进行自动驼峰转换
  • 可在xml文件中设置settings的mapUnderscoreToCamelCase可以将数据库中user_name转化成userName与实体类属性对应
  • 如果数据库使用如user_name的命名方式,实体类采用驼峰命名。配置后无需写数据库字段和实体类属性对应
    在这里插入图片描述

动态绑定全局配置文件.java

在这里插入图片描述

运行效果图

  • 没设置好可能会读取不到数据库里的数据或者是直接导致出现错误
    在这里插入图片描述
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

【无痕干货营】

如果帮助到您,欢迎打赏一下我

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

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

打赏作者

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

抵扣说明:

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

余额充值