总结 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注解等。

相关推荐
小马爱打代码4 小时前
MyBatis:反射模块详解
mybatis
Klong.k9 小时前
Mybatis-plus中Save()方法的注意点
mybatis
小北方城市网10 小时前
SpringBoot 集成 RabbitMQ 实战(消息队列):实现异步通信与系统解耦
java·spring boot·后端·spring·rabbitmq·mybatis·java-rabbitmq
BD_Marathon10 小时前
动态SQL(四) choose、when、otherwise
mybatis
阿杰 AJie11 小时前
MyBatis-Plus 比较运算符
java·数据库·mybatis
皙然12 小时前
MyBatis 执行流程源码级深度解析:从 Mapper 接口到 SQL 执行的全链路逻辑
数据库·sql·mybatis
这儿有个昵称12 小时前
Java大厂面试实录:从Spring MVC到微服务的技术深度探讨
java·redis·spring·mybatis·spring security·spring mvc·oauth2
一直都在57212 小时前
Spring3整合MyBatis实现分页查询和搜索
mybatis
色空大师1 天前
mybatis动态sql
sql·mybatis·foreach·where·sql动态语法
BD_Marathon1 天前
自定义映射resultMap——通过collection解决一对多的映射关系(九)
mybatis