【Mybatis框架】可以直接复用的java mapper文件 ✨ 每日积累

简介: 【Mybatis框架】可以直接复用的java mapper文件 ✨ 每日积累
<?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="mapper接口文件存放位置" >
  <resultMap id="BaseResultMap" type="实体类包位置" >
    <id column="id" property="id" jdbcType="BIGINT" />
    <result column="gmt_create" property="gmtCreate" jdbcType="TIMESTAMP" />
    <result column="gmt_modified" property="gmtModified" jdbcType="TIMESTAMP" />
    <result column="user_name" property="userName" jdbcType="VARCHAR" />
  </resultMap>
  <resultMap id="QueryResultMap" type="实体类包位置" extends="BaseResultMap" />
  <sql id="Query_Where_Clause" >
    <trim prefix="WHERE" prefixOverrides="AND |OR " >
      <if test="id != null" >
        AND id = #{id,jdbcType=BIGINT}
      </if>
      <if test="gmtCreate != null" >
        AND gmt_create = #{gmtCreate,jdbcType=TIMESTAMP}
      </if>
      <if test="gmtModified != null" >
        AND gmt_modified = #{gmtModified,jdbcType=TIMESTAMP}
      </if>
      <if test="userName != null" >
        AND user_name = #{userName,jdbcType=VARCHAR}
      </if>
    </trim>
  </sql>
  <sql id="Update_By_Query_Where_Clause" >
    <trim prefix="WHERE" prefixOverrides="AND |OR " >
      <if test="query.id != null" >
        AND id = #{query.id,jdbcType=BIGINT}
      </if>
      <if test="query.gmtCreate != null" >
        AND gmt_create = #{query.gmtCreate,jdbcType=TIMESTAMP}
      </if>
      <if test="query.gmtModified != null" >
        AND gmt_modified = #{query.gmtModified,jdbcType=TIMESTAMP}
      </if>
      <if test="query.userName != null" >
        AND user_name = #{query.userName,jdbcType=VARCHAR}
      </if>
    </trim>
  </sql>
  <sql id="Base_Column_List" >
    id, gmt_create, gmt_modified, user_name
  </sql>
  <select id="selectByQuery" resultMap="BaseResultMap" parameterType="query势例类存放路径" >
    select
    <include refid="Base_Column_List" />
    from user
    <if test="_parameter != null" >
      <include refid="Query_Where_Clause" />
    </if>
  </select>
  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long" >
    select
    <include refid="Base_Column_List" />
    from user
    where id = #{id,jdbcType=BIGINT}
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long" >
    delete from user
    where id = #{id,jdbcType=BIGINT}
  </delete>
  <delete id="deleteByQuery" parameterType="query势例类存放路径" >
    delete from user
    <if test="_parameter != null" >
      <include refid="Query_Where_Clause" />
    </if>
  </delete>
  <insert id="insert" parameterType="实体类存放位置" >
    <selectKey resultType="java.lang.Long" keyProperty="id" order="AFTER" >
      SELECT @@IDENTITY
    </selectKey>
    insert into user (gmt_create, gmt_modified, user_name)
    values (#{gmtCreate,jdbcType=TIMESTAMP}, #{gmtModified,jdbcType=TIMESTAMP}, #{userName,jdbcType=VARCHAR})
  </insert>
  <insert id="insertOrUpdate" parameterType="实体类存放位置" >
    <selectKey resultType="java.lang.Long" keyProperty="id" order="AFTER" >
      SELECT @@IDENTITY
    </selectKey>
    insert into user (gmt_create, gmt_modified, owner_uid,
    user_id, user_name, display_name, active )
    values (#{gmtCreate,jdbcType=TIMESTAMP}, #{gmtModified,jdbcType=TIMESTAMP}, #{userName,jdbcType=VARCHAR})
    ON DUPLICATE KEY UPDATE
  </insert>
  <select id="countByQuery" parameterType="实体类存放位置" resultType="java.lang.Integer" >
    select count(*) from user
    <if test="_parameter != null" >
      <include refid="Query_Where_Clause" />
    </if>
  </select>
  <update id="updateByQuerySelective" parameterType="map" >
    update user
    <set >
      <if test="record.id != null" >
        id = #{record.id,jdbcType=BIGINT},
      </if>
      <if test="record.gmtCreate != null" >
        gmt_create = #{record.gmtCreate,jdbcType=TIMESTAMP},
      </if>
      <if test="record.gmtModified != null" >
        gmt_modified = #{record.gmtModified,jdbcType=TIMESTAMP},
      </if>
      <if test="record.userName != null" >
        user_name = #{record.userName,jdbcType=VARCHAR},
      </if>
    </set>
    <if test="_parameter != null" >
      <include refid="Update_By_Query_Where_Clause" />
    </if>
  </update>
  <update id="updateByQuery" parameterType="map" >
    update user
    set id = #{record.id,jdbcType=BIGINT},
    gmt_create = #{record.gmtCreate,jdbcType=TIMESTAMP},
    gmt_modified = #{record.gmtModified,jdbcType=TIMESTAMP},
    user_name = #{record.userName,jdbcType=VARCHAR},
    <if test="_parameter != null" >
      <include refid="Update_By_Query_Where_Clause" />
    </if>
  </update>
  <update id="updateByPrimaryKeySelective" parameterType="实体类包位置" >
    update user
    <set >
      <if test="gmtCreate != null" >
        gmt_create = #{gmtCreate,jdbcType=TIMESTAMP},
      </if>
      <if test="gmtModified != null" >
        gmt_modified = #{gmtModified,jdbcType=TIMESTAMP},
      </if>
      <if test="userName != null" >
        user_name = #{userName,jdbcType=VARCHAR},
      </if>
    </set>
    where id = #{id,jdbcType=BIGINT}
  </update>
  <update id="updateByPrimaryKey" parameterType="实体类包位置" >
    update user
    set gmt_create = #{gmtCreate,jdbcType=TIMESTAMP},
    gmt_modified = #{gmtModified,jdbcType=TIMESTAMP},
    user_name = #{userName,jdbcType=VARCHAR},
  </update>
</mapper>
相关文章
|
4天前
|
JavaScript Java Android开发
在cmd中运行javac编译java文件报错: 编码GBK的不可映射字符、 非法字符: \65279
在cmd中运行javac编译java文件报错: 编码GBK的不可映射字符、 非法字符: \65279
12 1
|
4天前
|
网络协议 JavaScript 前端开发
Java一分钟之-GraalVM Native Image:构建原生可执行文件
【6月更文挑战第13天】GraalVM Native Image是Java开发的创新技术,它将应用编译成独立的原生可执行文件,实现快速启动和低内存消耗,对微服务、桌面应用和嵌入式系统有重大影响。本文讨论了如何使用Native Image,包括常见挑战如反射与动态类加载、静态初始化问题和依赖冲突,并提供了解决方案和代码示例。通过合理规划和利用GraalVM工具,开发者可以克服这些问题,充分利用Native Image提升应用性能。
30 5
|
6天前
|
SQL Java 关系型数据库
Java中的ORM框架——myBatis
Java中的ORM框架——myBatis
|
3天前
|
Java
创建java文件 自动添加作者、时间等信息 – IDEA 技巧
创建java文件 自动添加作者、时间等信息 – IDEA 技巧
5 0
|
3天前
|
Java
java 文件读写实例
java 文件读写实例
|
4天前
|
Java Maven
Java 怎样从 excel 中读取文件、写入文件
Java 怎样从 excel 中读取文件、写入文件
10 0
|
4天前
|
Java 数据库连接 Android开发
SSM框架——使用MyBatis Generator自动创建代码
SSM框架——使用MyBatis Generator自动创建代码
11 2
|
4天前
|
Java
Java读取txt文件和写入txt文件-多种方法-java读写文件-java读写
Java读取txt文件和写入txt文件-多种方法-java读写文件-java读写
16 0
|
5天前
|
IDE 数据可视化 Java
Java基础6-Java文件和Java包结构和常用的jar包(二)
Java基础6-Java文件和Java包结构和常用的jar包(二)
12 0
|
5天前
|
Java Unix 编译器
Java基础6-Java文件和Java包结构和常用的jar包(一)
Java基础6-Java文件和Java包结构和常用的jar包(一)
16 0