news 2025/12/26 13:41:38

MyBatis XML的方式来实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MyBatis XML的方式来实现

使用这种方式的时候我们需要在配置文件中配置 mybatis xml 的文件路径:

这里需要注意的是:resources文件夹之下的这个mapper文件夹的名字要和配置文件中classpath后端mapper的名字要保持一致。
同时以上述的配置信息为例,mapper文件夹之下的xml文件一定是要以Mapper为结尾。

在xml文件中编写SQL语句

@Mapper public interface UserInfoMapperXML { List<UserInfo> selectAll(); }
<mapper namespace="com.example.mybatis.mapper.UserInfoMapperXML"> <select id="selectAll" resultType="com.example.mybatis.model.UserInfo"> select * from user_info; </select> </mapper>

上面的接口的名字和所在的路径要和xml文件中的相对应,接口中声明的方法名也要和xml文件中的id值相对应。
xml文件中的resultType表示这个方法返回的结果中的数据元素是什么类型,本案例就是UserInfo类型。

测试代码

接下来我们生成测试类来运行一下我们的代码:

@Test void sellectAll() { System.out.println(userInfoMapperXML.selectAll()); }

新增数据

Integer insertUser(UserInfo userInfo);
<insert id="insertUser"> insert into user_info (username,password,age) VALUES(#{username},#{password},#{age}) </insert>

XMl传入参数的方式和用注解的方式是一样的:

@Test void insertUser() { UserInfo userInfo=new UserInfo(); userInfo.setPassword("12345678"); userInfo.setUsername("user1"); userInfo.setAge(18); userInfoMapperXML.insertUser(userInfo); }

我们也可以获取到自增的id

获取自增id

Integer insertUser2( @Param("Userinfo") UserInfo userInfo);
<insert id="insertUser2" useGeneratedKeys="true" keyProperty="id"> insert into user_info (username,password,age) VALUES(#{Userinfo.username},#{Userinfo.password},#{Userinfo.age}) </insert>
@Test void insertUser2() { UserInfo userInfo=new UserInfo(); userInfo.setPassword("12345"); userInfo.setUsername("user3"); userInfo.setAge(18); Integer result=userInfoMapperXML.insertUser2(userInfo); System.out.println("影响行数:"+result+",id:"+userInfo.getId()); }

更新数据

接下来我们把id为12的用户的密码改为123456:

Integer updateUser(String newpassword,Integer id);
<update id="updateUser"> update user_info set password=#{newpassword} where id=#{id} </update>
@Test void updateUser() { userInfoMapperXML.updateUser("123456",12); }


删除数据

我们把以id为12的数据删除为例:

Integer deleteUser(Integer id);
<delete id="deleteUser"> delete from user_info where id=#{id} </delete>
@Test void deleteUser() { userInfoMapperXML.deleteUser(12); }


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/23 15:06:45

股市估值高低对企业网络安全人才培养的影响

股市估值高低对企业网络安全人才培养的影响 关键词:股市估值、企业网络安全、人才培养、资金投入、发展战略 摘要:本文深入探讨了股市估值高低对企业网络安全人才培养的多方面影响。首先阐述了研究的背景和目的,界定了相关术语和概念。接着分析了股市估值与企业网络安全人才…

作者头像 李华
网站建设 2025/12/23 15:06:43

基于单片机的煤气泄漏报警系统设计

摘 要 煤气已成为人们生活中必不可少的能源了&#xff0c;煤气泄漏时有发生&#xff0c;煤气泄漏使人中毒&#xff0c;可能会发生爆炸&#xff0c;给人们的人身安全和财产安全带来了很多隐患&#xff0c;所以防止煤气泄漏检测装置已成为人们迫切的需要&#xff0c;为此开发煤气…

作者头像 李华
网站建设 2025/12/23 15:06:41

大数据领域数据产品的竞品分析方法

大数据领域数据产品的竞品分析方法&#xff1a;从0到1拆解市场洞察的“望远镜”关键词&#xff1a;大数据数据产品、竞品分析、市场洞察、产品定位、用户需求摘要&#xff1a;在大数据赛道“卷到飞起”的今天&#xff0c;如何快速看清竞品的“底牌”&#xff0c;找到自己产品的…

作者头像 李华
网站建设 2025/12/19 7:52:31

NVIDIA Project DIGITS:技术架构解析与行业解决方案全景

一、革命性技术架构深度解析 1. GB10超级芯片的异构创新 Project DIGITS的核心是NVIDIA GB10 Grace Blackwell超级芯片&#xff0c;这是一款真正的片上系统(SoC)&#xff0c;通过三大突破性设计实现了桌面级Petaflop算力&#xff1a;NVLink-C2C芯片级互连&#xff1a;传统CPU与…

作者头像 李华
网站建设 2025/12/23 15:06:39

从适配到共建:密瓜智能 HAMi × 沐曦 GPU 完成兼容互认

作为一个活跃的开源项目&#xff0c;HAMi 由来自 15 国家、350 贡献者共同维护&#xff0c;已被 200 企业与机构在实际生产环境中采纳&#xff0c;具备良好的可扩展性与支持保障。产品兼容互认 近日&#xff0c;密瓜智能 与 沐曦集成电路&#xff08;上海&#xff09;股份有限公…

作者头像 李华