mybatis orm映射框架的两种写法

1、在接口中通过注解的方式进行sql编写

1-1、pom.xml文件引入依赖的jar文件gav

        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.6</version>
        </dependency>

        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.0.1</version>
        </dependency>

        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.3.0</version>
        </dependency>

1-2、接口文件编写

 import com.jmyd.scene.openapi.template.model.Pictures;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.springframework.data.repository.query.Param;
import java.util.List;

@Mapper
public interface PicturesMapper {
    @Select("SELECT * FROM  TABLE_NAME")
    List<Pictures> selectSceneListByUserId(@Param("curentPage")Integer curentPage, @Param("pageSize")Integer pageSize, @Param("userId")String userName);
}

2、在xml配置文件中进行sql编写

2-1、pom.xml文件引入依赖的jar文件gav

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.1.2</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-annotation</artifactId>
            <version>3.1.2</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-extension</artifactId>
            <version>3.1.2</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus</artifactId>
            <version>3.1.2</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.1.2</version>
        </dependency>

2-2、xml文件sql代码编写方式

<?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.jmyd.xxxxxx.mapper.xxxxxxTableMapper">

    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.jmyd.xxxxxx.entity.TableEntity">
        <id column="ID" property="id" />
        <result column="CREATOR" property="creator" />
        <result column="IS_DELETE" property="isDelete" />
        <result column="CREATE_DATE" property="createDate" />
        <result column="UPDATE_DATE" property="updateDate" />
    </resultMap>

    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        ID, CREATOR, IS_DELETE, CREATE_DATE, UPDATE_DATE
    </sql>
    <select id="selectTableById" parameterType="com.jmyd.xxxxxx.dto.TableDTO" resultType="com.jmyd.xxxxxx.vo.TableVO">
        SELECT
        <include refid="Base_Column_List"/>
        FROM  xxxxxx_Table WHERE ID=#{id}
    </select>

    <select id="selectTableList" parameterType="com.jmyd.xxxxxx.dto.TableDTO" resultType="com.jmyd.xxxxxx.vo.TableVO">
        SELECT ys.ID,   ys.CREATOR, ys.IS_DELETE, ys.CREATE_DATE, ys.UPDATE_DATE,ys.IMAGE_ID,ys.DESIGN_ID,ysl.id as lookatId
        FROM  xxxxxx_Table ys,xxxxxx_Table_lookat ysl WHERE ys.ID=ysl.hall_id AND  ys.IS_DELETE=1
        <if test="TableName != null">
            AND ys.Table_NAME LIKE concat(concat('%',#{TableName}),'%')
        </if> 
        ORDER BY ys.UPDATE_DATE DESC
        LIMIT #{offset},#{pageSize}
    </select>



    <select id="selectTableListByImageIds" parameterType="java.util.ArrayList" resultType="com.jmyd.xxxxxx.vo.TableVO">
        SELECT
        <include refid="Base_Column_List"/>
        FROM  xxxxxx_Table WHERE IMAGE_ID IN
        <foreach collection="list" item="imageid" separator="," open="(" close=")">
            #{imageid}
        </foreach>
    </select>

    <select id="selectTableByDesignIds" parameterType="java.util.ArrayList" resultType="com.jmyd.xxxxxx.vo.TableVO">
        SELECT
        ys.ID, ys.Table_NAME, ys.REMARK, ys.ICON_URL, ys.CREATOR, ys.IS_DELETE, ys.CREATE_DATE, ys.UPDATE_DATE,
        ys.IMAGE_ID,ys.DESIGN_ID,ysl.id AS lookatId
        FROM  xxxxxx_Table ys,xxxxxx_Table_lookat ysl WHERE ys.ID=ysl.hall_id AND  ys.DESIGN_ID IN
        <foreach collection="list" item="designId" separator="," open="(" close=")">
            #{designId}
        </foreach>
    </select>


    <select id="selectTableCount" parameterType="com.jmyd.xxxxxx.dto.TableDTO" resultType="java.lang.Integer">
        SELECT COUNT(*) FROM  xxxxxx_Table WHERE  IS_DELETE=1
        <if test="TableName != null">
            AND Table_NAME LIKE concat(concat('%',#{TableName}),'%')
        </if> 
    </select>

    <insert id="saveTable" parameterType="com.jmyd.xxxxxx.dto.TableDTO">
        INSERT INTO xxxxxx_Table( Table_NAME,  REMARK, CREATOR,ICON_URL,IMAGE_ID,DESIGN_ID)VALUES
         (#{TableName},#{remark},#{creator},#{iconUrl},#{imageId},#{designId})
    </insert>

    <insert id="saveBatchTable" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id">
        INSERT INTO xxxxxx_Table( Table_NAME,   CREATOR,ICON_URL,IMAGE_ID,DESIGN_ID) VALUES
        <foreach collection="list" item="Table" separator="," >
            (#{Table.TableName},#{Table.creator},#{Table.iconUrl},#{Table.imageId},#{Table.designId})
        </foreach>
    </insert>

    <update id="updateTable" parameterType="com.jmyd.xxxxxx.dto.TableDTO">
        UPDATE xxxxxx_Table
        <set>
            <if test="iconUrl != null">
                ICON_URL=#{iconUrl},
            </if>
            <if test="remark!= null">
                REMARK=#{remark}
            </if>
        </set>
        WHERE ID=#{id}
    </update>
    <update id="deleteTableById" parameterType="com.jmyd.xxxxxx.dto.TableDTO">
        UPDATE xxxxxx_Table  SET IS_DELETE=0        WHERE ID=#{id}
    </update>

    <delete id="deleteBathTableById" parameterType="java.util.List">
        DELETE FROM xxxxxx_Table  WHERE IMAGE_ID IN
        <foreach collection="list" item="imageid" separator="," open="(" close=")">
            #{imageid}
        </foreach>
    </delete>
</mapper>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山不在高_有仙则灵

你的奖励是我的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值