使用XML实现MyBatis的基础操作

embedded/2024/10/15 16:15:10/

目录

前言

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.ppmy.cn/embedded/127949.html

相关文章

机器学习笔记-1

文章目录 前言一、How to find a function二、Define Loss from Training Data三、Optimization总结 前言 机器学习&#xff08;Machine Learning, ML&#xff09;是一门让计算机通过数据来自动学习和改进的技术。它的核心理念是通过分析大量的历史数据来找到其中的规律&#…

通过Dockerfile 安装rabbitMq

一、编写Dockerfile Dockerfile 指令详细注释如下&#xff1a; # 使用带有管理插件的官方 RabbitMQ 镜像作为基础 FROM rabbitmq:3.9-management# 复制自定义模板文件到 RabbitMQ 管理插件的模板目录 # 这里假设 ./users.ejs 和 ./limits.ejs 是用于自定义管理界面的模板文件…

一些简单的编程题(Java与C语言)

引言&#xff1a; 这篇文章呢&#xff0c;小编将会举一些简单的编程题用来帮助大家理解一下Java代码&#xff0c;并且与C语言做个对比&#xff0c;不过这篇文章所出现的题目小编不会向随缘解题系列里面那样详细的讲解每一到题&#xff0c;本篇文章的主要目的是帮助小编和读者们…

成都睿明智科技有限公司共创抖音电商新篇章

在当今这个数字化浪潮汹涌的时代&#xff0c;抖音电商以其独特的魅力迅速崛起&#xff0c;成为众多商家竞相追逐的新蓝海。在这片充满机遇与挑战的领域中&#xff0c;成都睿明智科技有限公司凭借其专业的服务、创新的策略和敏锐的市场洞察力&#xff0c;成为了众多商家信赖的合…

Xcode报错:Undefined symbols,Linker command failed with exit code1

这种编译报错点击Xcode左侧的小红叉这两行点击没反应&#xff0c;不知道具体报错原因怎么弄&#xff1f; 解决办法&#xff1a; 第一步&#xff1a;点周Xcode左侧工具栏的编译log日志按钮 第二步&#xff1a;第一步点击完Xcode左侧出现了编译历史列表&#xff0c;可以看到有报…

Maven(10)如何使用Maven进行多模块项目管理?

使用Maven进行多模块项目管理是一种常见的做法&#xff0c;它可以帮助你组织大型项目&#xff0c;使其结构更加清晰&#xff0c;便于维护和构建。以下是使用Maven创建和管理多模块项目的详细步骤&#xff1a; 步骤1&#xff1a;创建父项目 首先&#xff0c;创建一个空的Maven…

实验kubernetes的CPU绑定策略

CPU 管理配置 CPU 管理策略通过 kubelet 参数 --cpu-manager-policy 或 KubeletConfiguration 中的 cpuManagerPolicy 字段来指定。 支持两种策略&#xff1a; none&#xff1a;默认策略。static&#xff1a;允许为节点上具有某些资源特征的 Pod 赋予增强的 CPU 亲和性和独占…

如何有效进行主机加固?深信达MCK提供答案

在数字化时代&#xff0c;企业面临的网络安全威胁日益严峻&#xff0c;尤其是勒索病毒等恶意软件的攻击&#xff0c;给企业带来了巨大的挑战。为了有效应对这些威胁&#xff0c;企业需要采取全面的网络安全防护措施&#xff0c;其中主机加固成为了关键的一环。深信达的MCK主机加…