Mybatis相关配置以及动态Sql

本文详细介绍了Mybatis的核心配置,包括自定义实体类别名、映射器别名加载和properties配置。接着讨论了Mybatis如何处理一一映射关系,通过resultMap实现字段与实体类属性的映射。此外,还深入讲解了Mybatis的动态Sql功能,如if、choose、trim和foreach等,并解析了它们在实际使用中的应用场景和参数配置。
摘要由CSDN通过智能技术生成

一、Mybatis核心文件配置

1.自定义实体类别名配置

对于要多次书写的实体类,只需自定义实体类别名,就可以提高书写效率

<!--在核心配置文件中-->
<typeAliases>
    <!--方式1:type:别名,alias:当前实体类的全限定名称-->
    <typeAlias type="user" alias="com.pojo.user" />
    
    <!--方式2:使用别名的包扫描,它直接将实体所在包指定,别名默认就是当前类名小写-->
    <package name="com.pojo" />
    
</typeAliases>
2.加载映射器的别名配置

同上,mapper的别名扫描,将包内的映射器接口实现全部注册为映射器

<mappers>
    <!--之前的写法-->
    <mapper resource="com.mapper.UserMapper.xml"></mapper>
    
    <!--使用别名扫描-->
    <package name="com.mapper" />
</mappers>
<!--如果使用注解开发(不要加载映射文件,class:直接指向接口的全限定名称)-->
<mappers>
    <mapper class="com.mapper.UserMapper"></mapper>
</mappers>
3.poperties配置文件

对于Mybatis中核心配置文件SqlMapConfig.xml中的一些需要频繁改动的数据内容,可以在外面进行配置,提取到properites中,进行动态替换

//jbdc.properites
jdbc.dirver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/date_03_16?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
jdbc.username=root
jdbc.password=123456
//在核心配置文件中
<!--添加properties配置文件的文件路径-->
<properties resource="jdbc.properites" />

<!--环境配置-->
<environments default="mysql">
    <environment id="mysql">
        <!--更新数据管理配置-->
        <transactionManager type="JDBC" />
        <!--配置数据库连接池,这里使用mybatis自带的-->
        <dataSource type="POOLED">
            <!--接下来,配置上面已经设置好的属性(以后如需更改,可以直接动态更改)-->
            <property name="dirver" 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处理一一映射关系

数据库中user表字段

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BKpE17eh-1647534699645)(C:\Users\ADMINI~1\AppData\Local\Temp\1647525146317.png)]

resultMap:mybatis的高级输出映射,可以将每一个字段和实体类的属性一一映射

在什么样的条件下使用它?(正常都可以使用)
①当实体类属性名和数据库字段名一致
②mybatis进行多查询时

<!--在UserMapper.xml配置文件中-->
<!--namespace:接口的全限定名称,告诉mybatis去哪个接口寻找此映射文件-->
<mapper namespace="com.mapper.UserMapper">
    <!--resultMap配置:id:当前resultMap的标识,type:实体类的全限定名称/别名-->
    <resultMap id="userMap" type="user">
        <!--id主键配置:property:实体类的属性名称,column&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值