MyBatis增删改查基础及其xml文件

news/2024/11/24 2:49:16/

目录

一.增删改查基础

1.增

增@Insert

获取自增ID

对insert参数进行重命名

2.删

3.改

4.查

1)对MySQL查询结果进行重命名

从MySQL层面--as

从mybatis层面--@Results注解

复用@Results的定义

2)配置自动转换驼峰命名(推荐)

二.Mybatis xml配置文件

指明xml的路径

配置xml内容

xml实现的增删改查


一.增删改查基础

1.增

增@Insert

测试代码:

测试结果:

获取自增ID

测试:

对insert参数进行重命名

2.删

3.改

测试:

4.查

mybatis会根据数据库的字段名和Java对象的属性名,进行映射,如果名称一样就可以进行赋值。

1)对MySQL查询结果进行重命名

从MySQL层面--as

企业中应该避免使用*

当数据库中的名字与Java对象中的名字对应不一致时,重命名映射使用as将两者关联起来。

从mybatis层面--@Results注解

字段与Java属性一样的不用重写

缺点:每写一个新的方法都需要使用@Results重新注解一遍,代码冗余。

复用@Results的定义

2)配置自动转换驼峰命名(推荐)

application.properties或者application.yml中配置以下内容

两个文件配置内容如下:

#配置驼峰⾃动转换
mybatis.configuration.log-impl.map-underscore-to-camel-case=true
mybatis:configuration:log-impl:map-underscore-to-camel-case: true 

二.Mybatis xml配置文件

需要配置数据库;指明xml的路径;写xml的实现

指明xml的路径

# 配置mybatis xml的⽂件路径,在 resources/mapper 创建所有表的 xml ⽂件
mybatis.mapper-locations= classpath:mapper/**Mapper.xml

resource路径下要有一个mapper文件夹,mapper文件夹下要有一个文件末尾名为Mapper的xml文件。

配置xml内容

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.example.mybatisaliyun.mapper.UserInfoXMLMapper"><select id="selectAll" resultType="com.example.mybatisaliyun.model.UserInfo">select * from userinfo</select></mapper>

xml实现的增删改查

自增ID

测试:

重命名

结果映射(数据库字段名和Java属性名不一致)三种解决方式:

1.sql字段别名(xml)

2.@Results

3.配置自动转驼峰

   同上


http://www.ppmy.cn/news/1278846.html

相关文章

基于Spring自动注入快速实现策略模式+工厂模式优化过多的if..else

一、策略模式 1.1策略模式定义 在策略模式&#xff08;Strategy Pattern&#xff09;中一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。 在策略模式定义了一系列算法或策略&#xff0c;并将每个算法封装在独立的类中&#xff0c;使得它们可以互相…

hive中array相关函数总结

目录 hive官方函数解释示例实战 hive官方函数解释 hive官网函数大全地址&#xff1a; hive官网函数大全地址 Return TypeNameDescriptionarrayarray(value1, value2, …)Creates an array with the given elements.booleanarray_contains(Array, value)Returns TRUE if the a…

【Amazon 实验①】使用 Amazon CloudFront加速Web内容分发

文章目录 实验架构图1. 准备实验环境2. 创建CloudFront分配、配置动、静态资源分发2.1 创建CloudFront分配&#xff0c;添加S3作为静态资源源站2.2 为CloudFront分配添加动态源站 在本实验——使用CloudFront进行全站加速中&#xff0c;将了解与学习Amazon CloudFront服务&…

STM32项目设计:智能门禁系统核心板版本 4种解锁方式

文章目录 一、项目简介二、原理图设计![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/809dd6c70b34425eb42f69187020c717.png)程序设计 哔哩哔哩视频链接&#xff1a; https://www.bilibili.com/video/BV1K64y1V7Y9?p4&spm_id_frompageDriver&vd_sourcee…

2023/12/21作业

思维导图 代码 .text .global _start _start: 灯1 gpio时钟使能 [4]->1 0x5000A28 LDR R0,0x50000A28 指定寄存器地址 LDR R1,[R0]将寄存器取出放到R1 ORR R1,R1,#(0x1<<4)将第四位设置为1 STR R1,[R0]读取R0寄存器到R1 PE…

ruoyi若依前后端分离版部署centos7服务器(全)

目录 VMware虚拟机 centos7 安装环境如下 一、msql 5.7 二、nginx1.23.3 三、java8 四、redis 3.2.1 五、部署若依前端 六、部署若依后端 前言 虚拟机的桥接与nat模式 : 重点 重点&#xff01;&#xff01;&#xff01; 无线不可以用桥接模式 &#xff0c;而你用了nat模式会…

负载均衡:一致性哈希解决了哪些问题?

在业务开发中&#xff0c;缓存服务和其他数据服务一样&#xff0c;需要满足高可用性&#xff0c;而高可用最常用的手段就是集群扩展。 缓存的集群高可用 目前 Redis 流行的集群方案有 官方 Cluster 方案、twemproxy 代理方案、哨兵模式、Codis 等方案&#xff0c;关于这几种方…

CSS新手入门笔记整理:CSS3动画

平移&#xff1a;translate() 语法 transform: translateX(x);    /*沿x轴方向平移*/ transform: translateY(y);    /*沿y轴方向平移*/ transform: translate(x, y);   /*沿x轴和y轴同时平移*/ 缩放&#xff1a;scale() 语法 transform: scaleX(x);    /*沿x轴…