<?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.matrix.system.shopXcx.dao.ShopArticleDao">
|
|
<!-- 定义ShopArticle 的复杂关联map -->
|
<resultMap type="com.matrix.system.shopXcx.bean.ShopArticle" id="ShopArticleMap">
|
<id property="artId" column="art_id" />
|
<result property="createBy" column="create_by" />
|
<result property="createTime" column="create_time" />
|
<result property="updateBy" column="update_by" />
|
<result property="updateTime" column="update_time" />
|
<result property="artTitle" column="art_title" />
|
<result property="artReleasestatus" column="art_releasestatus" />
|
<result property="artypeId" column="artype_id" />
|
<result property="artAuthor" column="art_author" />
|
<result property="artVisitstimes" column="art_visitstimes" />
|
<result property="artLabel" column="art_label" />
|
<result property="artSort" column="art_sort" />
|
<result property="artReleasedate" column="art_releasedate" />
|
<result property="artAbstract" column="art_abstract" />
|
<result property="artContent" column="art_content" />
|
<result property="artImgurl" column="art_imgurl" />
|
<result property="artypeName" column="artype_name" />
|
<result property="companyId" column="company_id" />
|
</resultMap>
|
|
|
<!-- 定义ShopArticle 的简单map ,本map不添加其他的关联属性 -->
|
<resultMap type="com.matrix.system.shopXcx.bean.ShopArticle" id="ShopArticleSimpleMap">
|
<id property="artId" column="art_id" />
|
<result property="createBy" column="create_by" />
|
<result property="createTime" column="create_time" />
|
<result property="updateBy" column="update_by" />
|
<result property="updateTime" column="update_time" />
|
<result property="artTitle" column="art_title" />
|
<result property="artReleasestatus" column="art_releasestatus" />
|
<result property="artypeId" column="artype_id" />
|
<result property="artAuthor" column="art_author" />
|
<result property="artVisitstimes" column="art_visitstimes" />
|
<result property="artLabel" column="art_label" />
|
<result property="artSort" column="art_sort" />
|
<result property="artReleasedate" column="art_releasedate" />
|
<result property="artAbstract" column="art_abstract" />
|
<result property="artContent" column="art_content" />
|
<result property="artImgurl" column="art_imgurl" />
|
<result property="companyId" column="company_id" />
|
</resultMap>
|
|
<!-- 字段sql -->
|
<sql id="columns">
|
create_by,
|
create_time,
|
update_by,
|
update_time,
|
art_id,
|
art_title,
|
art_releasestatus,
|
artype_id,
|
art_author,
|
art_visitstimes,
|
art_label,
|
art_sort,
|
art_releasedate,
|
art_abstract,
|
art_content,
|
art_imgurl,
|
company_id
|
</sql>
|
|
<!-- 属性sql -->
|
<sql id="propertys">
|
#{item.createBy},
|
now(),
|
#{item.updateBy},
|
now(),
|
#{item.artId},
|
#{item.artTitle},
|
#{item.artReleasestatus},
|
#{item.artypeId},
|
#{item.artAuthor},
|
#{item.artVisitstimes},
|
#{item.artLabel},
|
#{item.artSort},
|
#{item.artReleasedate},
|
#{item.artAbstract},
|
#{item.artContent},
|
#{item.artImgurl},
|
#{item.companyId}
|
</sql>
|
|
<!-- where sql -->
|
<sql id="where_sql">
|
|
<if test="record!=null">
|
<if test="(record.artId!=null and record.artId!='') or (record.artId!='' and record.artId==0) ">
|
and art_id = #{record.artId}
|
</if>
|
<if test="(record.artTitle!=null and record.artTitle!='') or (record.artTitle!='' and record.artTitle==0) ">
|
and art_title = #{record.artTitle}
|
</if>
|
<if test="(record.artReleasestatus!=null and record.artReleasestatus!='') or (record.artReleasestatus!='' and record.artReleasestatus==0) ">
|
and art_releasestatus = #{record.artReleasestatus}
|
</if>
|
<if test="(record.artypeId!=null and record.artypeId!='') or (record.artypeId!='' and record.artypeId==0) ">
|
and artype_id = #{record.artypeId}
|
</if>
|
<if test="(record.artAuthor!=null and record.artAuthor!='') or (record.artAuthor!='' and record.artAuthor==0) ">
|
and art_author = #{record.artAuthor}
|
</if>
|
<if test="(record.artVisitstimes!=null and record.artVisitstimes!='') or (record.artVisitstimes!='' and record.artVisitstimes==0) ">
|
and art_visitstimes = #{record.artVisitstimes}
|
</if>
|
<if test="(record.artLabel!=null and record.artLabel!='') or (record.artLabel!='' and record.artLabel==0) ">
|
and art_label = #{record.artLabel}
|
</if>
|
<if test="(record.artSort!=null and record.artSort!='') or (record.artSort!='' and record.artSort==0) ">
|
and art_sort = #{record.artSort}
|
</if>
|
<if test="(record.artReleasedate!=null and record.artReleasedate!='') or (record.artReleasedate!='' and record.artReleasedate==0) ">
|
and art_releasedate = #{record.artReleasedate}
|
</if>
|
<if test="(record.artAbstract!=null and record.artAbstract!='') or (record.artAbstract!='' and record.artAbstract==0) ">
|
and art_abstract = #{record.artAbstract}
|
</if>
|
<if test="(record.artContent!=null and record.artContent!='') or (record.artContent!='' and record.artContent==0) ">
|
and art_content = #{record.artContent}
|
</if>
|
<if test="(record.artImgurl!=null and record.artImgurl!='') or (record.artImgurl!='' and record.artImgurl==0) ">
|
and art_imgurl = #{record.artImgurl}
|
</if>
|
|
<if test="record.companyId != null and record.companyId !='' ">
|
and company_id = #{record.companyId}
|
</if>
|
|
</if>
|
|
</sql>
|
|
<!-- 插入方法 -->
|
<insert id="insert" parameterType="com.matrix.system.shopXcx.bean.ShopArticle"
|
useGeneratedKeys="true" keyProperty="item.artId">
|
INSERT INTO shop_article (
|
<include refid="columns"></include>
|
)
|
VALUES (
|
<include refid="propertys"></include>
|
)
|
</insert>
|
|
|
|
<!-- 批量插入 -->
|
<insert id="batchInsert" parameterType="java.util.List">
|
INSERT INTO shop_article (
|
<include refid="columns"></include>
|
)
|
VALUES
|
<foreach collection="list" item="item" index="index" separator=",">(
|
<include refid="propertys"></include>
|
)</foreach>
|
</insert>
|
|
|
|
|
|
<!-- 根据Map更新 部分更新 -->
|
<update id="updateByMap" parameterType="java.util.HashMap" >
|
UPDATE shop_article
|
<set>
|
<if test="_parameter.containsKey('artTitle')">
|
art_title = #{artTitle},
|
</if>
|
<if test="_parameter.containsKey('artReleasestatus')">
|
art_releasestatus = #{artReleasestatus},
|
</if>
|
<if test="_parameter.containsKey('artypeId')">
|
artype_id = #{artypeId},
|
</if>
|
<if test="_parameter.containsKey('artAuthor')">
|
art_author = #{artAuthor},
|
</if>
|
<if test="_parameter.containsKey('artVisitstimes')">
|
art_visitstimes = #{artVisitstimes},
|
</if>
|
<if test="_parameter.containsKey('artLabel')">
|
art_label = #{artLabel},
|
</if>
|
<if test="_parameter.containsKey('artSort')">
|
art_sort = #{artSort},
|
</if>
|
<if test="_parameter.containsKey('artReleasedate')">
|
art_releasedate = #{artReleasedate},
|
</if>
|
<if test="_parameter.containsKey('artAbstract')">
|
art_abstract = #{artAbstract},
|
</if>
|
<if test="_parameter.containsKey('artContent')">
|
art_content = #{artContent},
|
</if>
|
<if test="_parameter.containsKey('artImgurl')">
|
art_imgurl = #{artImgurl},
|
</if>
|
</set>
|
WHERE art_id=#{artId}
|
</update>
|
|
|
<!-- 根据对象更新 部分更新 -->
|
<update id="updateByModel" parameterType="Integer">
|
UPDATE shop_article
|
<set>
|
<if test="record.artTitle != null and record.artTitle != '' ">
|
art_title = #{record.artTitle},
|
</if>
|
<if test="record.artReleasestatus != null ">
|
art_releasestatus = #{record.artReleasestatus},
|
</if>
|
<if test="record != null ">
|
artype_id = #{record.artypeId},
|
</if>
|
<if test="record.artAuthor != null">
|
art_author = #{record.artAuthor},
|
</if>
|
art_visitstimes = #{record.artVisitstimes},
|
<if test="record.artLabel != null">
|
art_label = #{record.artLabel},
|
</if>
|
art_sort = #{record.artSort},
|
<if test="record.artReleasedate != null">
|
art_releasedate = #{record.artReleasedate},
|
</if>
|
<if test="record.artAbstract != null and record.artAbstract != '' ">
|
art_abstract = #{record.artAbstract},
|
</if>
|
<if test="record.artContent != null">
|
art_content = #{record.artContent},
|
</if>
|
<if test="record.artImgurl != null and record.artImgurl != '' ">
|
art_imgurl = #{record.artImgurl},
|
</if>
|
</set>
|
WHERE art_id=#{record.artId}
|
</update>
|
|
<!-- 批量删除 -->
|
<delete id="deleteByIds" parameterType="java.util.List">
|
delete from shop_article where art_id in
|
<foreach collection="list" index="index" item="item" open="("
|
separator="," close=")">
|
#{item}
|
</foreach>
|
</delete>
|
|
<!-- 根据id删除-->
|
<delete id="deleteById" parameterType="Integer">
|
DELETE FROM shop_article
|
where art_id=#{artId}
|
</delete>
|
|
<!-- 根据对象删除-->
|
<delete id="deleteByModel" parameterType="com.matrix.system.shopXcx.bean.ShopArticle">
|
DELETE FROM shop_article
|
<where>
|
<include refid="where_sql" ></include>
|
</where>
|
</delete>
|
|
|
|
<!-- 分页查询 -->
|
<select id="selectInPage" resultMap="ShopArticleMap">
|
select
|
a.art_id,
|
a.art_title,
|
a.art_releasestatus,
|
a.artype_id,
|
a.art_author,
|
a.art_visitstimes,
|
a.art_label,
|
a.art_sort,
|
a.art_releasedate,
|
a.art_abstract,
|
a.art_content,
|
a.art_imgurl,
|
t.artype_name
|
from shop_article a
|
LEFT join shop_article_type t on a. artype_id = t.artype_id
|
<where>
|
<if test="record!=null">
|
<if test="(record.artId!=null and record.artId!='') or (record.artId!='' and record.artId==0) ">
|
and a.art_id = #{record.artId}
|
</if>
|
<if test="(record.artTitle!=null and record.artTitle!='') or (record.artTitle!='' and record.artTitle==0) ">
|
and a.art_title like concat('%', #{record.artTitle}, '%')
|
</if>
|
<if test="(record.artReleasestatus!=null and record.artReleasestatus!='') or (record.artReleasestatus!='' and record.artReleasestatus==0) ">
|
and a.art_releasestatus = #{record.artReleasestatus}
|
</if>
|
<if test="(record.artypeId!=null and record.artypeId!='') or (record.artypeId!='' and record.artypeId==0) ">
|
and a.artype_id = #{record.artypeId}
|
</if>
|
<if test="(record.artAuthor!=null and record.artAuthor!='') or (record.artAuthor!='' and record.artAuthor==0) ">
|
and a.art_author = #{record.artAuthor}
|
</if>
|
<if test="(record.artVisitstimes!=null and record.artVisitstimes!='') or (record.artVisitstimes!='' and record.artVisitstimes==0) ">
|
and a.art_visitstimes = #{record.artVisitstimes}
|
</if>
|
<if test="(record.artLabel!=null and record.artLabel!='') or (record.artLabel!='' and record.artLabel==0) ">
|
and a.art_label = #{record.artLabel}
|
</if>
|
<if test="(record.artSort!=null and record.artSort!='') or (record.artSort!='' and record.artSort==0) ">
|
and a.art_sort = #{record.artSort}
|
</if>
|
<if test="(record.artReleasedate!=null and record.artReleasedate!='') or (record.artReleasedate!='' and record.artReleasedate==0) ">
|
and a.art_releasedate = #{record.artReleasedate}
|
</if>
|
<if test="(record.artAbstract!=null and record.artAbstract!='') or (record.artAbstract!='' and record.artAbstract==0) ">
|
and a.art_abstract = #{record.artAbstract}
|
</if>
|
<if test="(record.artContent!=null and record.artContent!='') or (record.artContent!='' and record.artContent==0) ">
|
and a.art_content = #{record.artContent}
|
</if>
|
<if test="(record.artImgurl!=null and record.artImgurl!='') or (record.artImgurl!='' and record.artImgurl==0) ">
|
and a.art_imgurl = #{record.artImgurl}
|
</if>
|
<if test="(record.artypeName!=null and record.artypeName!='') or (record.artypeName!='' and record.artypeName==0) ">
|
and t.artype_name like concat('%', #{record.artypeName}, '%')
|
</if>
|
|
<if test="record.companyId != null and record.companyId !='' ">
|
and a.company_id = #{record.companyId}
|
</if>
|
</if>
|
</where>
|
<if test="pageVo !=null"><!-- 判断pageVo对象是否为空 -->
|
order by a.create_time desc
|
<if test="pageVo.offset >=0 and pageVo.limit >0">
|
limit
|
#{pageVo.offset},#{pageVo.limit}
|
</if>
|
</if>
|
</select>
|
|
<!-- 查询总条数 -->
|
<select id="selectTotalRecord" parameterType="long" resultType="java.lang.Integer">
|
select count(*)
|
from shop_article
|
<where>
|
<include refid="where_sql"></include>
|
</where>
|
</select>
|
|
<!-- 根据id查询-->
|
<select id="selectById" resultMap="ShopArticleMap">
|
select
|
<include refid="columns" ></include>
|
from shop_article
|
where art_id=#{artId}
|
</select>
|
|
<!-- 根据类别ID查询文章-->
|
<select id="selectByArtypeId" resultMap="ShopArticleMap">
|
select
|
<include refid="columns" ></include>
|
from shop_article a where a.artype_id = #{artypeId}
|
</select>
|
|
<!-- 查询常见问题类型文章-->
|
<select id="selectArticle" resultMap="ShopArticleMap">
|
select
|
<include refid="columns" ></include>
|
from shop_article a
|
where a.artype_id in ( SELECT t.artype_id FROM shop_article_type t WHERE t.artype_code = 'cjwt' )
|
order by a.art_sort
|
</select>
|
|
<!-- 根据类型code查询类型文章-->
|
<select id="selectArticleByArtypeCode" resultMap="ShopArticleMap">
|
select
|
<include refid="columns" ></include>
|
from shop_article a
|
where a.artype_id in ( SELECT t.artype_id FROM shop_article_type t WHERE t.artype_code = #{artypeCode} )
|
order by a.art_sort
|
</select>
|
|
|
<!-- 根据id 锁表查询-->
|
<select id="selectForUpdate" resultMap="ShopArticleMap">
|
select
|
<include refid="columns" ></include>
|
from shop_article
|
where art_id=#{art_id}
|
for update
|
</select>
|
|
|
|
<!-- 根据对象查询-->
|
<select id="selectByModel" resultMap="ShopArticleMap">
|
select
|
<include refid="columns" ></include>
|
from shop_article
|
<where>
|
<include refid="where_sql"></include>
|
</where>
|
</select>
|
|
<!-- 根据标题和类型查询文章接口 -->
|
<select id="findArticleByTitleAndType" resultMap="ShopArticleMap">
|
select
|
a.art_id,
|
a.art_title,
|
a.art_releasestatus,
|
a.artype_id,
|
a.art_author,
|
a.art_visitstimes,
|
a.art_label,
|
a.art_sort,
|
a.art_releasedate,
|
a.art_abstract,
|
a.art_content,
|
a.art_imgurl,
|
t.artype_name,
|
a.company_id
|
from shop_article a
|
LEFT join shop_article_type t on a. artype_id = t.artype_id
|
<where>
|
<if test="record!=null">
|
<if test="(record.artId!=null and record.artId!='') or (record.artId!='' and record.artId==0) ">
|
and a.art_id = #{record.artId}
|
</if>
|
<if test="(record.artTitle!=null and record.artTitle!='') or (record.artTitle!='' and record.artTitle==0) ">
|
and a.art_title like concat('%', #{record.artTitle}, '%')
|
</if>
|
<if test="(record.artReleasestatus!=null and record.artReleasestatus!='') or (record.artReleasestatus!='' and record.artReleasestatus==0) ">
|
and a.art_releasestatus = #{record.artReleasestatus}
|
</if>
|
<if test="(record.artypeId!=null and record.artypeId!='') or (record.artypeId!='' and record.artypeId==0) ">
|
and a.artype_id = #{record.artypeId}
|
</if>
|
<if test="(record.artypeName!=null and record.artypeName!='') or (record.artypeName!='' and record.artypeName==0) ">
|
and t.artype_name like concat('%', #{record.artypeName}, '%')
|
</if>
|
</if>
|
</where>
|
|
</select>
|
</mapper>
|