SpringBoot结合Mybatis 使用 mapper*.xml 进行数据库增删改查操作

什么是 MyBatis?

MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。

MyBatis 消除了几乎所有的 JDBC 代码参数的手工设置以及对结果集的检索

MyBatis 可以使用简单的XML注解用于配置和原始映射,将接口和 Java 的 POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。

<?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.mybatis.test.IUserOperation">

    <!-- select语句 -->
    <select id="selectUserByID" parameterType="int" resultType="User">
        select * from `user` where user.id = #{id}
    </select>
    
    <!-- 定义的resultMap,可以解决类的属性名和数据库列名不一致的问题-->
    <!-- <resultMap type="User" id="userResultMap">
        <id property="id" column="user_id"  />
        <result property="userName" column="user_userName"  />
        <result property="userAge" column="user_userAge"  />
        <result property="userAddress" column="user_userAddress"  />
    </resultMap> -->
    
    <!-- 返回list的select语句,注意 resultMap的值是指向前面定义好的 -->
    <!-- <select id="selectUsersByName" parameterType="string" resultMap="userResultMap">
        select * from user where user.userName = #{userName}
    </select> -->
    
    <select id="selectUsersByName" parameterType="string" resultType="User">
        select * from user where user.userName = #{userName}
    </select>
    
    <!--
    执行增加操作的SQL语句。
    id和parameterType分别与IUserOperation接口中的addUser方法的名字和参数类型一致。 useGeneratedKeys设置为"true"表明要MyBatis获取由数据库自动生成的主键;
    keyProperty="id"指定把获取到的主键值注入到User的id属性
   -->

  <insert id="addUser" parameterType="User" useGeneratedKeys="true" keyProperty="id"> insert into user(userName,userAge,userAddress) values(#{userName},#{userAge},#{userAddress}) </insert>
  <!-- id:接口方法名 parameterType:参数类型 --> <update id="updateUser" parameterType="User" > update user set userName=#{userName},userAge=#{userAge},userAddress=#{userAddress} where id=#{id} </update>
  <!-- id:接口方法名 parameterType:参数类型 --> <delete id="deleteUser" parameterType="int"> delete from user where id=#{id} </delete> </mapper>

猜你喜欢

转载自www.cnblogs.com/it-noob/p/9999044.html