总结 MyBatis 的XML实现方法(使用XML使用实现数据的增删改查操作)

MyBatis是一个优秀的持久层框架,它的XML配置文件是实现数据库操作的关键之一。通过XML文件,可以定义SQL语句、映射关系和一些高级功能。下面将探讨下如何使用MyBatis的XML配置文件实现数据的增、删、改、查操作。

1.配置文件

首先要确保 mybatis-config.xml 配置文件中引入了映射文件的路径:

java 复制代码
<!-- mybatis-config.xml -->
<configuration>
    <!-- 其他配置 -->
    <mappers>
        <mapper resource="com/example/mappers/UserMapper.xml"/>
        <!-- 其他映射文件 -->
    </mappers>
</configuration>

2.增加数据

在UserMapper.xml文件中,使用insert元素定义插入数据的SQL语句:

java 复制代码
<!-- UserMapper.xml -->
<mapper namespace="com.example.mappers.UserMapper">
    <!-- 插入数据 -->
    <insert id="insertUser" parameterType="com.example.model.User">
        INSERT INTO users (id, username, email) VALUES (#{id}, #{username}, #{email})
    </insert>
</mapper>

上述例子中,#{id}、#{username}、#{email}是占位符,MyBatis会根据传入的User对象的属性值进行替换。

3.查询数据

使用select元素定义查询数据的SQL语句:

java 复制代码
<!-- UserMapper.xml -->
<mapper namespace="com.example.mappers.UserMapper">
    <!-- 查询数据 -->
    <select id="selectUserById" parameterType="int" resultType="com.example.model.User">
        SELECT * FROM users WHERE id = #{id}
    </select>
</mapper>

在这个例子中,parameterType指定了传入SQL语句的参数类型,resultType指定了返回结果的类型。

4.更新数据

使用update元素定义更新数据的SQL语句:

java 复制代码
<!-- UserMapper.xml -->
<mapper namespace="com.example.mappers.UserMapper">
    <!-- 更新数据 -->
    <update id="updateUser" parameterType="com.example.model.User">
        UPDATE users SET username = #{username}, email = #{email} WHERE id = #{id}
    </update>
</mapper>

5. 删除数据

使用delete元素定义删除数据的SQL语句:

java 复制代码
<!-- UserMapper.xml -->
<mapper namespace="com.example.mappers.UserMapper">
    <!-- 删除数据 -->
    <delete id="deleteUser" parameterType="int">
        DELETE FROM users WHERE id = #{id}
    </delete>
</mapper>

6. 参数传递

在上述例子中,使用#{}占位符来传递参数。MyBatis支持多种参数传递方式,包括#{}占位符、${}占位符、@Param注解等。

相关推荐
CoderYanger15 小时前
Java EE 进阶:8.MyBatis 操作数据库(入门)(第二弹)
java·数据库·spring boot·spring·面试·java-ee·mybatis
CoderYanger3 天前
Java EE 进阶:8.MyBatis 操作数据库(入门)(第一弹)
java·数据库·spring·面试·职场和发展·java-ee·mybatis
真上帝的左手5 天前
30. 技术专题-‌应用框架组件-关系型数据库-MySQL-Mybatis
数据库·分布式·mysql·中间件·mybatis
雪芽蓝域zzs5 天前
第 2 章:整合 MySQL + MyBatis,搭建数据库基础、实体类、Mapper、测试查询
数据库·mysql·mybatis
wljt6 天前
公司二-面试题
java·开发语言·mybatis
VimorphTech6 天前
文本已经改了,旧的音频生成结果还能回写吗?
java·数据库·mybatis
麻瓜code6 天前
双写一致性:为什么是“删缓存“,而不是“改缓存“
java·缓存·mybatis
code2cat6 天前
Java工具篇之Maven:从pom.xml到测试通过的JAR
xml·java·maven
郭小李7 天前
mybatis 动态 sql
java·sql·mybatis
知守观7 天前
技术考古:iBATIS 2.3.4 时代的持久层,是如何用 Map 玩转 307 个存储过程的?
java·后端·mybatis