• 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>
  • 相关阅读:
    cs61b project1
    CS61b lab5
    leetcode DP
    Leetcode 还未解决的bug
    Git使用总结
    Mac TensorFlow Anaconda
    eclipse C++ ld: 1 duplicate symbol for architecture x86_64
    Leetcode Hashtable 1-5
    EC 601 PYTHONPATH
    EC 601 OpenCV Install
  • 原文地址:https://www.cnblogs.com/wangzh1guo/p/9999044.html
Copyright © 2020-2023  润新知