当前位置: 首页 > news >正文

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

目录

一.增删改查基础

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.lryc.cn/news/265482.html

相关文章:

  • 视觉学习(1)—— 理论
  • pip 常用指令 pip list 命令用法介绍
  • 【DP】62.不同路径
  • 大数据、知识图谱和强化学习的综合应用
  • MFC使用高速绘图控件high-speed Charting Control绘制柱形图
  • vue3 H5项目中实现PDF预览
  • 【WebRTC---源码篇】(十一:一)采集编码发送期间使用时间戳的详细解读
  • Python学习路线 - Python语言基础入门 - Python异常、模块与包
  • eventbus,在this.$on监听事件时无法在获取数据
  • 【Python必做100题】之第二十五题(统计字符)
  • 开发语言:ArkTS
  • Qt中字符串转换为JS的函数执行
  • TCP/IP:从数据包到网络的演变
  • 闪存驱动器与机械硬盘与固态硬盘
  • java String转asc码,然后ascII再转四位的16进制数。
  • 零基础制作宠物用品小程序
  • 【SpringBoot篇】解决缓存击穿问题① — 基于互斥锁方式
  • 系列一、GitHub搜索技巧
  • 35.java后端面试宝典
  • Linux 磁盘空间占满故障解决方法
  • 让生活更智能,P1600边缘智能网关带你进入智能家居新时代
  • Java与前端:2023年的真实状况与焦虑解读
  • adb 基本命令合集
  • [RK-Linux] RK3399支持M.2 NVMe SSD启动
  • LTO-3 磁带机种草终于是用上了
  • 【全网首发】洛谷P1020 [NOIP1999 提高组] 导弹拦截
  • trino-435版本windows下源码编译
  • java类和对象的思想概述
  • ant design vue3中引入message消息提示,全局引入亲测有效
  • UE5 Landscape 制作GIS卫星图地形