mybatisplus 使用mybatis中的配置、mapper配置文件

news2024/12/23 15:50:00

1、在application.properties中配置mybatis的配置文件路径,例如:

#指定mybatis-config.xml的位置
mybatis-plus.config-location = classpath:mybatis/mybatis-config.xml 

即在和application.properties同级目录下的mybatis目录中创建mybatis的配置文件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>
    <settings>
        <!--开启驼峰自动匹配即会自动匹配表中的下划线和类中的驼峰对应的字段即 user_name会和userName自动匹配上-->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>
    <!--<plugins>-->
    <!--<plugin interceptor="com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor"></plugin>-->
    <!--</plugins>-->

</configuration>

2、在application.properties中配置mybatis中的mapper的配置文件路径,两种:

2.1、方式一:在resources下,和mybatis-plus中的mapper路径相同的路径下创建mybatis的配置文件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">
<!-- namespace为映射的地址,也就是只有在这个接口中才能使用下边的内容-->
<mapper namespace="cn.itcast.mp.mapper.UserMapper">
	<!-- id 外部为调用的名字 resultType 为和数据库表中映射的类名,parameterType就是传递进来的参数id的类型-->
    <select id="findById" resultType="cn.itcast.mp.pojo.User" parameterType="java.lang.Long">
        select * from tb_user where id = #{id}
    </select>

</mapper>

方式一的目录结构:

在这里插入图片描述

3、在UserMapper映射接口中编写接口方法:

public interface UserMapper extends BaseMapper<User> {
    public User findById(Long id);  // findById这个名字要和上边的id一样
}

4、在测试类中调用接口方法

@Test
public void testfindById(){
    User user = userMapper.findById(1L);
    System.out.println(user);
}

2.2、方式二:在方式一的基础上需要修改

  • 1、在application.properties中再添加一行mapper映射地址
#指定mybatis-config.xml的位置
mybatis-plus.config-location = classpath:mybatis/mybatis-config.xml
#指定mapper文件位置
mybatis-plus.mapper-locations = classpath*:mybatis/mapper/*.xml
  • 修改mapper映射的配置文件路径,这次不用在和mapper接口的路径一一对应,只需要在resource/mybatis/mapper/UserMapper.xml下即可,UserMapper.xml中的内容和方式一的一模一样。

别名配置 在application.properties中再添加一行别名配置

#别名配置
mybatis-plus.type-aliases-package = cn.itcast.mp.pojo

则在UserMapper.xml中的resultType=“user” 可以写成这样,注意这里的user可以小写

开启驼峰自动匹配有两种方式:

  • 1、如同上边的mybatis-config.xml 中的配置一样就可以
  • 2、在application.properties中添加一行 mybatis-plus.configuration.map-underscore-to-camel-case=true
    但是需要注意的是:如果在application.properties中配置了上边这个,则不能配置mybatis-plus.config-location,所以建议选用1那种配置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/78369.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数制编码详解:二进制八进制十六进制的转换,原码、补码、反码、移码的定义

参考资料&#xff1a;《深入理解计算机网络&#xff08;王达&#xff09;》 文章目录一&#xff0c;数制1.1 基本数制1.2 不同数制之间的相互转换二&#xff0c;编码一&#xff0c;数制 1.1 基本数制 “数制”是“数据进制”的简称&#xff0c;也就是表示数据逢几进位的意思&a…

chatGPT的体验,是不是真智能?

目录 &#x1f3c6;一、前言 &#x1f3c6;二、安装 &#x1f3c6;三、普通对话 &#x1f6a9;1、chatGPT的ikun性 &#x1f6a9;2、chatGPT的日常对话 &#x1f3c6;四、实用能力 &#x1f3c6;五、代码改正 &#x1f3c6;六、写代码 &#x1f3c6;七、讲解代码 &#x1f3c6;…

ESXI精简thin磁盘迁移存储位置保留磁盘类型不变-无vc方式

运行2年了ESXI的SSD存储上很多VM并带多层快照&#xff0c;最近磁盘速度异常&#xff0c;迁移到新存储&#xff0c;都是thin磁盘&#xff1b;如有vCenter条件&#xff0c;采用“迁移”即可完美解决&#xff0c;既使磁盘类型thin不变又保留快照结构。如无vCenter条件的操作方式细…

Unity-iOS工程导出Xcode自动构建方法

Unity-iOS发布基本流程首先在Unity中导出Xcode工程&#xff0c;然后在Xcode工程中设置IOS打包的一些流程&#xff0c;诸如引入lib、framework或其他资源、设置签名及其他编译设置、加入编译脚本等等操作。 这些操作如果每次都是在导出Xcode后手动操作&#xff0c;一来浪费时间…

【C++ STL】-- 红黑树的插入实现

目录 红黑树的概念 二叉树搜索树的应用 红黑树节点的定义 红黑树结构 insert 需调整的多情况的核心思维&#xff1a; 需调整的多情况分类讲解&#xff1a; 情况一: 情况二: 情况三: 总结&#xff1a; 代码实现&#xff1a; 对于红黑树是否建立成功的检查 升序打印…

C++--类型转换--1128

1.C语言中的类型转换 分为隐式类型转化、显示强制类型转化。 隐式类型转化用于意义相近的类型&#xff0c;比如int,double,short都是表示数值的类型 int i1; double di; //编译、结果无问题 这里是隐式类型转换。 显示强制类型转换 显示强制类型用于意义不相近的类型&…

Redis Sentinel

高可用架构-Redis Sentinel Replication 缺点 接着之前的Redis Replication 主从复制架构&#xff0c;看似解决了主节点并发过大时&#xff0c;master节点处理繁忙的问题。将一部分读数据的请求交给从节点处理&#xff0c;从而将请求进行分散处理。但是该架构却存在很明显的缺…

基于LEACH的随机网络生成无线传感器网络路由协议的仿真比较(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜…

【深度学习】超详细的 PyTorch 学习笔记(上)

文章目录一、PyTorch环境检查二、查看张量类型三、查看张量尺寸和所占内存大小四、创建张量4.1 创建值全为1的张量4.2 创建值全为0的张量4.3 创建值全为指定值的张量4.4 通过 list 创建张量4.5 通过 ndarray 创建张量4.6 创建指定范围和间距的有序张量4.7 创建单位矩阵&#xf…

【力扣算法简单五十题】23.环形链表

给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置&#xff08;索…

基于多种优化算法及神经网络的光伏系统控制(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️❤️&#x1f4a5;&#x1f4a5;&#x1f4a5; &#x1f389;作者研究&#xff1a;&#x1f3c5;&#x1f3c5;&#x1f3c5;本科计算机专业&#xff0c;研究生电气学硕…

NNDL 实验八 网络优化与正则化(3)不同优化算法比较

文章目录7.3 不同优化算法的比较分析7.3.1 优化算法的实验设定7.3.1.1 2D可视化实验7.3.1.2 简单拟合实验7.3.1.3 与Torch API对比&#xff0c;验证正确性7.3.2 学习率调整7.3.2.1 AdaGrad算法7.3.2.2 RMSprop算法7.3.3 梯度估计修正7.3.3.1 动量法7.3.3.2 Adam算法7.3.4 不同优…

【并发】深度解析CAS原理与底层源码

【并发】深度解析CAS原理与底层源码 什么是 CAS&#xff1f; CAS全称是&#xff08;Compare And Swap&#xff0c;比较并交换&#xff09;&#xff0c;通常指的是这样一种原子操作&#xff08;针对一个变量&#xff0c;首先比较它的内存值与某个期望值是否相同&#xff0c;如…

不就是Redis吗?竟让我一个月拿了8个offer,其中两家都是一线大厂

在高并发的场景Redis是必须的&#xff0c;而 Redis非关系型内存存储不可谓不彪悍。 支持异步持久化达到容灾&#xff1a;速度快、并发高。官方号称支持并发11万读操作&#xff0c;并发8万写操作。惊了吗&#xff1f; 支持数据结构丰富&#xff1a;string&#xff08;字符串&a…

盘点5种最频繁使用的检测异常值的方法(附Python代码)

本文介绍了数据科学家必备的五种检测异常值的方法。 无论是通过识别错误还是主动预防&#xff0c;检测异常值对任何业务都是重要的。本文将讨论五种检测异常值的方法。 文章目录什么是异常值&#xff1f;为什么我们要关注异常值&#xff1f;技术提升方法1——标准差方法2——箱…

【OpenEnergyMonitor】开源的能源监控系统--项目介绍

OpenEnergyMonitor1. 系统框架2.项目组成2.1 emonPi模块:2.1.1 emonpi的安装&#xff1a;2.1.2 emonTx & emonBase 安装2.1.3 emonTx Wifi 安装&#xff1a;2.1.4 添加额外的 emonTx 节点&#xff1a;2.1.5 添加额外的emonTx-节点监控三项电源2.1.6 添加 emonTH 温度节点2.…

【Vue核心】8.计算属性

1. 定义: 要用的属性不存在,要通过已有属性计算得来。 2. 原理 底层借助了objcet.defineproperty方法提供的getter fllsetter. 3. get两数什么时候执行? (1),初次读取时会执行一次。 (2),当依赖的数据发生改变时会被再次调用。 4. 优势 与methods实现相比,内部有缓存机…

进厂手册:Git 学习笔记(详解命令)

文章目录git 对象通过git对象进行文件的保存git对象的缺点树对象构建树对象提交对象高层命令工作区的文件状态git reset hard 咋用以及用错了怎么恢复git checkout vs git resetGit存储后悔药工作区暂存区版本库reset三部曲checkout深入理解tag远程上的相关操作ssh登入一些个人…

[附源码]计算机毕业设计家庭整理服务管理系统Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

LeetCode刷题复盘笔记—一文搞懂动态规划之213. 打家劫舍 II问题(动态规划系列第十八篇)

今日主要总结一下动态规划完全背包的一道题目&#xff0c;213. 打家劫舍 II 题目&#xff1a;213. 打家劫舍 II Leetcode题目地址 题目描述&#xff1a; 你是一个专业的小偷&#xff0c;计划偷窃沿街的房屋&#xff0c;每间房内都藏有一定的现金。这个地方所有的房屋都 围成一…