MyBatis:配置文件mybatis-config.xml常见属性讲解-查询typeAlias别名的使用-Sql片段使用(7)

配置文件讲解

官方文档:https://mybatis.org/mybatis-3/zh/configuration.html#

详细配置可以去官方文档看

这是没用spring的场景,所以需要配置文件,如果使用springboot就不需要这么写了

我的配置

<?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>
    <!--下划线自动映射驼峰实体对象属性-->
    //setting还可以开启一级二级缓存、懒加载等等
    <settings>
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>
    <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://127.0.0.1:3306/educationapp?useUnicode=true;characterEncoding=UTF-8;serverTimezone=Asia/Shanghai"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="mapper/VideoMapper.xml"/>
    </mappers>
</configuration>
  • 核心配置文件(dom节点顺序要求,不然报错)

    • 记住常用的,不常用的简单介绍,
    configuration(配置)
        properties(属性)
        settings(设置)
        typeAliases(类型别名)
        typeHandlers(类型处理器)//用的不多
        objectFactory(对象工厂)
        plugins(插件,少用)
        environments(环境配置,不配多环境,基本在Spring里面配置)
        environment(环境变量)
          transactionManager(事务管理器)
          dataSource(数据源)
      databaseIdProvider(数据库厂商标识)
      mappers(映射器)
    

查询typeAlias别名使用

在这里插入图片描述

在之前的mapper中写的resultType和parameterType参入实体和接收实体写的是全路径名

可以使用typeAlias给类型起别名,可以不用输入类的全限定名

mybatis.config.xml配置文件
在这里插入图片描述

设置好后在mapper.xml接收实体参数就可以修改成起的别名了

问题:如果有很多类,是否需要一个个配置?
  • 不用一个个配置,使用包扫描即可

    他会扫描这个包的全部类,包后面的类名定为别名

    <typeAliases>
    
            <!--<typeAlias type="net.jhclass.online_class.domain.Video" alias="Video"/>-->
            <package name="net.jhclass.online_class.domain"/>
    
    </typeAliases> 
    
  • 本身就内置很多别名,比如Integer、String、List、Map 等

    就像之前写的删除操作,传入参数使用的Map,其实可以不写全路径,直接写Map也是可以的
    在这里插入图片描述

高性能之Sql片段使用

  • 你是否常用select * 去查询数据库

    ​ 在高性能业务开发中是不允许的,你用*和指定字段差别是很大的

    ​ 小项目没问题,高并发项目不推荐这样使用,查询性能低,应该选择需要的字段

  • 什么是sql片段

    像下面的例子,根据业务的需求,指定很多重复字段,造成一个重复代码,使用sql片段的方式复用
    在这里插入图片描述

示例

需要重复的字段写在sql中,在sql语句中使用include标签,然后指定sql名称就可以使用了

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值