【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>
相关文章
|
3天前
|
分布式计算 DataWorks Java
DataWorks操作报错合集之在使用MaxCompute的Java SDK创建函数时,出现找不到文件资源的情况,是BUG吗
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
17 0
|
8天前
|
SQL Java 数据库连接
MyBatis 框架入门理论与实践
MyBatis 框架入门理论与实践
25 6
|
8天前
|
Java Unix Windows
|
12天前
|
Java 关系型数据库 MySQL
Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
【4月更文挑战第12天】Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
47 3
|
1天前
|
SQL Java 数据库连接
15:MyBatis对象关系与映射结构-Java Spring
15:MyBatis对象关系与映射结构-Java Spring
15 4
|
1天前
|
存储 监控 Java
如何在Java中实现等待文件修改后再读取数据的功能?
如何在Java中实现等待文件修改后再读取数据的功能?
6 0
|
1天前
|
存储 Java 数据格式
Java实战:轻松掌握文件重命名与路径提取技巧
Java实战:轻松掌握文件重命名与路径提取技巧
8 0
|
1天前
|
Java
如何解决使用若依前后端分离打包部署到服务器上后主包无法找到从包中的文件的问题?如何在 Java 代码中访问 jar 包中的资源文件?
如何解决使用若依前后端分离打包部署到服务器上后主包无法找到从包中的文件的问题?如何在 Java 代码中访问 jar 包中的资源文件?
8 0
|
4天前
|
存储 Java Linux
【Java EE】 文件IO的使用以及流操作
【Java EE】 文件IO的使用以及流操作
|
5天前
|
存储 缓存 安全
【专栏】如何在 Java 中创建临时文件?
【4月更文挑战第28天】本文介绍了Java中创建临时文件的两种方法:使用`File.createTempFile`和自定义创建。`File.createTempFile`能生成唯一文件名,但默认不自动删除;自定义创建则提供更大灵活性,但需手动管理。临时文件常用于数据缓存、文件上传下载和日志记录,使用时需注意文件清理、唯一性和权限设置。