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

使用XML实现MyBatis的基础操作

目录

前言

1.准备工作

1.1⽂件配置

1.2添加 mapper 接⼝

2.增删改查操作

2.1增(Insert)

 2.2删(Delete)

2.3改(Update)

2.4查(Select)


前言

 接下来我们会使用的数据表如下:

对应的实体类为:UserInfo

所有的准备工作都在如下文章。

MyBatis 操作数据库入门-CSDN博客文章浏览阅读568次,点赞11次,收藏24次。什么是MyBatis?MyBatis是⼀款优秀的 持久层 框架,⽤于简化JDBC的开发Mybatis操作数据库的入门步骤:1.创建springboot⼯程2.数据库表准备、实体类3.引⼊Mybatis的相关依赖,配置Mybatis(数据库连接信息)4.编写SQL语句(注解/XML) ,进行测试了解更多MyBatis中文网1.创建springboot⼯程创建springboot⼯程,并导⼊ mybatis的起步依赖、mysql的驱动包。https://blog.csdn.net/WHabc2002/article/details/142743762


1.准备工作

1.1⽂件配置

如果是application.yml⽂件, 配置内容如下:

mybatis:mapper-locations: classpath:mybatis/**Mapper.xml

 如果是application.properties⽂件, 配置内容如下:

mybatis.mapper-locations=classpath:mapper/**Mapper.xml

 按照mybatis.mapper-locations设置文件

起名无所谓最后以Mapper.xml结尾就行 

1.2添加 mapper 接⼝

 数据持久层的接⼝定义:(接口名自已决定)

import com.wh.myBatis.model.UserInfo;
import org.apache.ibatis.annotations.Mapper;import java.util.List;@Mapper
public interface UserInfoXmlMapper {List<UserInfo> selectAllUser();
}

1.3添加MyBatis 的固定 xml 格式

mybatis.mapper-locations的路径下

 

MyBatis 的固定 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">
<mapper namespace="com.wh.myBatis.mapper.UserInfoXmlMapper"></mapper>

路径一定要正确 


2.增删改查操作

为了增加开发效率,我们可以使用插件。

2.1增(Insert)

UserInfoXmlMapper接口
Integer insert(UserInfo userInfo);

UserInfoXmlMapper.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">
<mapper namespace="com.wh.myBatis.mapper.UserInfoXmlMapper"><insert id="insert">insert into userinfo (username, password, age, gender)values (#{username},#{password},#{age},#{gender})</insert>
</mapper>

 如果使⽤@Param设置参数名称的话, 使⽤⽅法和注解类似

返回⾃增 id
接⼝定义不变, UserInfoXmlMapper.xml 实现 设置useGeneratedKeys 和keyProperty属性
    <insert id="insert2" useGeneratedKeys="true" keyProperty="id">insert into userinfo (username, password, age, gender)values (#{username},#{password},#{age},#{gender})</insert>

 2.2删(Delete)

UserInfoXmlMapper接口

Integer delete(Integer id);

 UserInfoXmlMapper.xml的实现

<delete id="delete">delete from userinfo where id = #{id}</delete>

2.3改(Update)

UserInfoXmlMapper接口

Integer update(UserInfo userInfo);

 UserInfoXmlMapper.xml的实现

  <update id="update">update userinfo set username=#{username} where id=#{id}</update>

2.4查(Select)

UserInfoXmlMapper接口

List<UserInfo> selectAllUser();

UserInfoXmlMapper.xml的实现

    <select id="selectAllUser" resultType="com.wh.myBatis.model.UserInfo">select * from userinfo</select>

 MyBatis 会获取结果中返回的列名并在 Java 类中查找相同名字的属性 

 小驼峰与蛇形的结果映射

 UserInfoXmlMapper.xml的实现

    <resultMap id="BaseMap" type="com.wh.myBatis.model.UserInfo"><id column="id" property="id"></id><result column="delete_flag" property="deleteFlag"></result><result column="create_time" property="createTime"></result><result column="update_time" property="updateTime"></result></resultMap><select id="selectAllUser2" resultMap="BaseMap">select * from userinfo</select>


以上为我个人的小分享,如有问题,欢迎讨论!!! 

都看到这了,不如关注一下,给个免费的赞 

http://www.lryc.cn/news/461345.html

相关文章:

  • 智汇云舟亮相WAFI世界农业科技创新大会,并参编数字农业产业图谱
  • 昇思MindSpore进阶教程--数据处理性能优化(中)
  • Vivado - Aurora 8B/10B IP
  • 图(Java语言实现)
  • GPT 生成绘画_Java语言例子_超详细
  • 华为OD机试 - 小朋友分组最少调整次数 - 贪心算法(Python/JS/C/C++ 2024 E卷 100分)
  • 数字农业与遥感监测平台
  • 2023年12月中国电子学会青少年软件编程(Python)等级考试试卷(一级)答案 + 解析
  • 【优选算法】——双指针(下篇)!
  • C#中函数重载的说明
  • 图论day56|广度优先搜索理论基础 、bfs与dfs的对比(思维导图)、 99.岛屿数量(卡码网)、100.岛屿的最大面积(卡码网)
  • 源码编译方式安装htppd软件
  • MES制造执行系统原型图动端 Axure原型 交互设计 Axure实战项目
  • flutter 仿淘宝推荐二级分类效果
  • 报错 - LangChain AgentExecutor - ‘function‘ object has no attribute ‘get‘
  • 【DIY小记】通过降低电压和Process Lasso工具优化CPU超频表现
  • 3、Docker搭建MQTT及Spring Boot 3.x集成MQTT
  • 六种定时任务记录
  • Dos下编译环境搭建和C运行程序生成
  • 【MySQL】入门篇—SQL基础:数据查询语言(DQL):复杂的SELECT语句
  • Appium环境搭建、Appium连接真机
  • 【X线源】关于滨松MCS2软件的说明
  • 【深度学习代码调试2】环境配置篇(中) -- 列出conda环境中所有env的pytorch版本
  • C语言运算符和表达式
  • RetinaNet 分类头和回归头的网络结构分析
  • app测试有哪些内容?广东深圳软件测试机构推荐
  • 新乡医学院第一附属医院启动巨额医疗设备整体维保招标
  • Linux——综合实用操作
  • 一个Idea:爆改 T480
  • 网络编程(21)——通过beast库快速实现http服务器