SSM中接口+mapper文件(增删改查)

news/2024/6/18 21:34:40 标签: windows, 开发语言

IActivateInfoDao接口

public interface IActivateInfoDao{
	
	//根据用户id和验证类型,判断认证是否已存在
	ActivateInfo selectByUserIdAndType(@Param("userId") String userId, @Param("type") String type);
	
	//插入
	int insert(ActivateInfo activateInfo);

	//更新
	int update(ActivateInfo activateInfo);

	//根据id删除
	int delete(String id);

	//根据传入的参数获取
	ActivateInfo selectByEmailAndCodeAndType(
			@Param("email") String email,
			@Param("code") String code,
			@Param("type") String type
	);
}

IActivateInfoDao映射文件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="cn.javaex.yaoqishan.dao.activate_info.IActivateInfoDAO">

    <!-- 建立sql查询结果接口与实体属性的映射关系 -->
    <resultMap id="ActivateInfoMap" type="cn.javaex.yaoqishan.view.ActivateInfo">
        <result column="id" property="id"/>
        <result column="user_id" property="userId"/>
        <result column="type" property="type"/>
        <result column="code" property="code"/>
        <result column="create_time" property="createTime"/>
    </resultMap>

    <!-- 根据用户id和验证类型,判断认证是否已存在 -->
    <select id="selectByUserIdAndType" resultMap="ActivateInfoMap">
		SELECT
			*
		FROM
			activate_info
		WHERE
			user_id = #{userId}
		AND type = #{type}
	</select>

    <!-- 插入 -->
    <insert id="insert">
        INSERT INTO activate_info
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="userId!=null and userId!=''">user_id,</if>
            <if test="type!=null and type!=''">type,</if>
            <if test="code!=null and code!=''">code,</if>
            <if test="createTime!=null and createTime!=''">create_time,</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="userId!=null and userId!=''">#{userId},</if>
            <if test="type!=null and type!=''">#{type},</if>
            <if test="code!=null and code!=''">#{code},</if>
            <if test="createTime!=null and createTime!=''">#{createTime},</if>
        </trim>
    </insert>

    <!-- 更新 -->
    <update id="update">
        UPDATE activate_info
        <set>
            <if test="userId!=null">user_id=#{userId},</if>
            <if test="type!=null">type=#{type},</if>
            <if test="code!=null">code=#{code},</if>
            <if test="createTime!=null">create_time=#{createTime},</if>
        </set>
        WHERE id = #{id}
    </update>

    <!-- 删除验证记录 -->
    <delete id="delete">
		DELETE FROM activate_info WHERE id = #{id}
	</delete>

    <!-- 获取验证记录 -->
    <select id="selectByEmailAndCodeAndType" resultMap="ActivateInfoMap">
		SELECT
			ai.user_id,
			ai.create_time
		FROM
			user_info ui,
			activate_info ai
		WHERE
			ui.id = ai.user_id
		AND ui.email = #{email}
		AND ai.code = #{code}
		AND ai.type = #{type}
	</select>
</mapper>

IApiInfoDAO 接口

public interface IApiInfoDAO {

	//查询指定类型的接口列表
	List<ApiInfo> listByType(String type);

	int insert(ApiInfo apiInfo);
	
	int update(ApiInfo apiInfo);

	
	//根据数组批量删除接口
	int delete(@Param("idArr") String[] idArr);

	Map<String, Object> selectById(String id);

	//用自定义SQL文更新
	int updateSQL(@Param("alterSql") String alterSql);

	//判断字段有没有被接口使用
	int countByField(@Param("field") String field);

	//向接口表中添加字段
	void alter(@Param("alterSql") String alterSql);

	int updateRankSet(ApiInfo apiInfo);

}
<?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="cn.javaex.yaoqishan.dao.api_info.IApiInfoDAO">

    <!-- 建立sql查询结果接口与实体属性的映射关系 -->
    <resultMap id="ApiInfoMap" type="cn.javaex.yaoqishan.view.ApiInfo">
        <result column="id" property="id"/>
        <result column="name" property="name"/>
        <result column="sort" property="sort"/>
        <result column="type" property="type"/>
        <result column="type_id" property="typeId"/>
        <result column="rank_type" property="rankType"/>
        <result column="select_video" property="selectVideo"/>
        <result column="cache_time" property="cacheTime"/>
    </resultMap>

    <!-- 插入字段 -->
    <insert id="alter">
		${alterSql}
	</insert>

    <!-- 查询指定类型的接口列表 -->
    <select id="listByType" resultMap="ApiInfoMap">
		SELECT
			*
		FROM
			api_info
		WHERE
			type = #{type}
		ORDER BY
			sort
	</select>

    <!-- 根据主键,获取接口设置条件 -->
    <select id="selectById" resultType="hashmap">
		SELECT
			*
		FROM
			api_info
		WHERE
			id = #{id}
	</select>

    <!-- 插入新的接口 -->
    <insert id="insert">
        INSERT INTO api_info
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="sort!=null and sort!=''">sort,</if>
            <if test="name!=null and name!=''">name,</if>
            <if test="type!=null and type!=''">type,</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="sort!=null and sort!=''">#{sort},</if>
            <if test="name!=null and name!=''">#{name},</if>
            <if test="type!=null and type!=''">#{type},</if>
        </trim>
    </insert>

    <!-- 更新接口 -->
    <update id="update">
        UPDATE api_info
        <set>
            <if test="sort!=null">sort=#{sort},</if>
            <if test="name!=null">name=#{name},</if>
            <if test="type!=null">type=#{type},</if>
        </set>
        WHERE id = #{id}
    </update>

    <!-- 删除接口 -->
    <delete id="delete">
        DELETE FROM api_info WHERE id IN
        <foreach collection="idArr" index="index" item="item" open="(" separator="," close=")">
            #{item}
        </foreach>
    </delete>

    <!-- 更新一条接口 -->
    <update id="updateSQL">
		${alterSql}
	</update>

    <!-- 判断字段有没有被接口使用 -->
    <select id="countByField" resultType="int">
		SELECT
			COUNT(*)
		FROM
			api_info
		WHERE
			ISNULL(${field}, '') != ''
	</select>

    <!-- 更新接口 -->
    <update id="updateRankSet">
        UPDATE api_info
        <set>
            <if test="typeId!=null">type_id=#{typeId},</if>
            <if test="rankType!=null">rank_type=#{rankType},</if>
            <if test="num!=null">num=#{num},</if>
            <if test="selectVideo!=null">select_video=#{selectVideo},</if>
            <if test="cacheTime!=null">cache_time=#{cacheTime},</if>
        </set>
        WHERE id = #{id}
    </update>
</mapper>

IChannelInfoDAO接口

public interface IChannelInfoDAO {

	/**
	 * 查询频道栏目列表
	 */
	List<ChannelInfo> list();

	//插入传入的对象
	int insert(ChannelInfo channelInfo);
	
	//传入对象参数进行查询
	int update(ChannelInfo channelInfo);

	//根据id查询
	ChannelInfo selectById(String id);

	//根据id删除
	int delete(String id);

}
<?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="cn.javaex.yaoqishan.dao.channel_info.IChannelInfoDAO">

    <!-- 建立sql查询结果字段与实体属性的映射关系 -->
    <resultMap id="ChannelInfoMap" type="cn.javaex.yaoqishan.view.ChannelInfo">
        <result column="id" property="id"/>
        <result column="name" property="name"/>
        <result column="sort" property="sort"/>
        <result column="template" property="template"/>
        <result column="title" property="title"/>
        <result column="keywords" property="keywords"/>
        <result column="description" property="description"/>
    </resultMap>

    <!-- 查询频道列表 -->
    <select id="list" resultMap="ChannelInfoMap">
		SELECT
			*
		FROM
			channel_info
		ORDER BY
			sort
	</select>

    <!-- 根据主键查询频道信息 -->
    <select id="selectById" resultMap="ChannelInfoMap">
		SELECT
			*
		FROM
			channel_info
		WHERE
			id = #{id}
	</select>

    <!-- 插入新的频道 -->
    <insert id="insert">
        INSERT INTO channel_info
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="name!=null and name!=''">name,</if>
            <if test="sort!=null and sort!=''">sort,</if>
            <if test="template!=null and template!=''">template,</if>
            <if test="title!=null and title!=''">title,</if>
            <if test="keywords!=null and keywords!=''">keywords,</if>
            <if test="description!=null and description!=''">description,</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="name!=null and name!=''">#{name},</if>
            <if test="sort!=null and sort!=''">#{sort},</if>
            <if test="template!=null and template!=''">#{template},</if>
            <if test="title!=null and title!=''">#{title},</if>
            <if test="keywords!=null and keywords!=''">#{keywords},</if>
            <if test="description!=null and description!=''">#{description},</if>
        </trim>
        <selectKey keyProperty="id" order="AFTER" resultType="String">
            <!-- 得到刚insert到数据表中的记录的主键值,只适用于自增主键 -->
            SELECT IDENT_CURRENT('channel_info') AS id
        </selectKey>
    </insert>

    <!-- 更新频道 -->
    <update id="update">
        UPDATE channel_info
        <set>
            <if test="name!=null">name=#{name},</if>
            <if test="sort!=null">sort=#{sort},</if>
            <if test="template!=null">template=#{template},</if>
            <if test="title!=null">title=#{title},</if>
            <if test="keywords!=null">keywords=#{keywords},</if>
            <if test="description!=null">description=#{description},</if>
        </set>
        WHERE id = #{id}
    </update>

    <!-- 删除频道 -->
    <delete id="delete">
		DELETE FROM channel_info WHERE id = #{id}
	</delete>
</mapper>

ICollectionInfoDAO接口

public interface ICollectionInfoDAO {

	/**
	 * 根据媒体id和用户id查看
	 */
	int countByMediaIdAndUserId(@Param("mediaId") String mediaId, @Param("userId") String userId);
	
	/**
		添加对象
	 */
	int insert(CollectionInfo collectionInfo);

	/**
	 * 删除收藏的视频
	 */
	int delete(CollectionInfo collectionInfo);
	
	/**
	 * 获取用户的id获取视频收藏列表
	 */
	List<Map<String, Object>> listCollection(String userId);

	/**
		根据数组批量删除
	 */
	int deleteByUserIdArr(@Param("userIdArr") String[] userIdArr);

}
<?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="cn.javaex.yaoqishan.dao.collection_info.ICollectionInfoDAO">

    <!-- 建立sql查询结果字段与实体属性的映射关系 -->
    <resultMap id="CollectionInfoMap" type="cn.javaex.yaoqishan.view.CollectionInfo">
        <result column="id" property="id"/>
        <result column="media_id" property="mediaId"/>
        <result column="user_id" property="userId"/>
    </resultMap>

    <!-- 判断该视频是否已被用户收藏过了 -->
    <select id="countByMediaIdAndUserId" resultType="int">
		SELECT
			COUNT(*)
		FROM
			collection_info
		WHERE
			media_id = #{mediaId}
		AND user_id = #{userId}
	</select>

    <!-- 插入新的视频收藏 -->
    <insert id="insert">
        INSERT INTO collection_info
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="mediaId!=null and mediaId!=''">media_id,</if>
            <if test="userId!=null and userId!=''">user_id,</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="mediaId!=null and mediaId!=''">#{mediaId},</if>
            <if test="userId!=null and userId!=''">#{userId},</if>
        </trim>
    </insert>

    <!-- 删除收藏的视频 -->
    <delete id="delete">
        DELETE
        FROM
        collection_info
        WHERE
        user_id = #{userId}
        <if test="mediaId!=null and mediaId!=''">
            AND media_id = #{mediaId}
        </if>
    </delete>

    <!-- 获取用户的视频收藏列表 -->
    <select id="listCollection" resultType="hashmap">
		SELECT
			mi.media_id,
			mi.biaoti,
			mi.fengmian,
			mi.zongjishu,
			mi.status,
			ti.name AS typeName
		FROM
			collection_info ci,
			media_info mi,
			type_info ti
		WHERE
			ci.media_id = mi.media_id
		AND mi.type_id = ti.id
		AND ci.user_id = #{userId}
		ORDER BY
			ci.id DESC
	</select>

    <!-- 删除收藏表中的内容 -->
    <delete id="deleteByUserIdArr">
        DELETE FROM collection_info WHERE user_id IN
        <foreach collection="userIdArr" index="index" item="item" open="(" separator="," close=")">
            #{item}
        </foreach>
    </delete>
</mapper>

IFieldProfileInfoDAO接口

public interface IFieldProfileInfoDAO {

	//根据id查询列表
	List<FieldProfileInfo> listByFieldId(String fieldId);

	
	int insert(FieldProfileInfo fieldProfileInfo);

	int update(FieldProfileInfo fieldProfileInfo);

	int delete(@Param("idArr") String[] idArr);

	String selectById(String id);

	List<String> selectByIdArr(@Param("idArr") String[] idArr);
}
<?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="cn.javaex.yaoqishan.dao.field_profile_info.IFieldProfileInfoDAO">

    <!-- 建立sql查询结果字段与实体属性的映射关系 -->
    <resultMap id="FieldProfileInfoMap" type="cn.javaex.yaoqishan.view.FieldProfileInfo">
        <result column="id" property="id"/>
        <result column="field_id" property="fieldId"/>
        <result column="name" property="name"/>
        <result column="sort" property="sort"/>
    </resultMap>

    <!-- 根据字段主键查询字段详情列表 -->
    <select id="listByFieldId" resultMap="FieldProfileInfoMap">
		SELECT
			*
		FROM
			field_profile_info
		WHERE
			field_id = #{fieldId}
		ORDER BY
			sort
	</select>

    <!-- 根据主键,查询对应的文本 -->
    <select id="selectById" resultType="String">
		SELECT
			name
		FROM
			field_profile_info
		WHERE
			id = #{id}
	</select>

    <!-- 根据主键数组,查询对应的文本list -->
    <select id="selectByIdArr" resultType="String">
        SELECT
        name
        FROM
        field_profile_info
        WHERE id IN
        <foreach collection="idArr" index="index" item="item" open="(" separator="," close=")">
            #{item}
        </foreach>
    </select>

    <!-- 插入一条新数据 -->
    <insert id="insert">
        INSERT INTO field_profile_info
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="sort!=null and sort!=''">sort,</if>
            <if test="name!=null and name!=''">name,</if>
            <if test="fieldId!=null and fieldId!=''">field_id,</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="sort!=null and sort!=''">#{sort},</if>
            <if test="name!=null and name!=''">#{name},</if>
            <if test="fieldId!=null and fieldId!=''">#{fieldId},</if>
        </trim>
    </insert>

    <!-- 更新一条新数据 -->
    <update id="update">
        UPDATE field_profile_info
        <set>
            <if test="sort!=null">sort=#{sort},</if>
            <if test="name!=null">name=#{name},</if>
        </set>
        WHERE id = #{id}
    </update>

    <!-- 删除字段详情内容 -->
    <delete id="delete">
        DELETE FROM field_profile_info WHERE id IN
        <foreach collection="idArr" index="index" item="item" open="(" separator="," close=")">
            #{item}
        </foreach>
    </delete>
</mapper>


http://www.niftyadmin.cn/n/4940810.html

相关文章

0基础转行产品经理可行吗?如何操作才靠谱?

在多年的产品经验中&#xff0c;遇到了很多朋友同事咨询转行做产品的可行性&#xff0c;在沟通的过程中&#xff0c;大家都普遍认为零基础转行产品&#xff0c;对于一个已经有工作经验的人来说&#xff0c;是不是需要付出很大的努力&#xff0c;之前走的路就全白费了&#xff0…

比较不同类型的隔离接口 IC:光耦合器与数字隔离器

隔离接口IC在确保各种电子系统中的信号完整性和安全性方面发挥着至关重要的作用。在不同类型的隔离接口IC中&#xff0c;光耦合器和数字隔离器是两种流行的选择。在本文中&#xff0c;我们将比较这两类隔离接口IC&#xff0c;探讨它们的工作原理、优点和应用。 工作原理&#x…

2023.8.13

atcoder_abc\AtCoder Beginner Contest 310\E_NAND_repeatedly //题意&#xff1a;给定一个n长度的01串&#xff0c;计算f(l,r)(l<r,l在1~n,r在1~n)的和,f的计算(ai,a(i1))运算,有0就为1,11为0 //若f(l,r)1,则f(l,r-1)为0或sr为0,即只取决于上一位的情况和当前位&#xff…

【问题解决】shell脚本执行错误 $‘\r‘:command not found

shell脚本执行错误 $‘\r’:command not found 问题原因&#xff1a; 在 Windows 中&#xff0c;换行符是由回车符&#xff08;\r&#xff09;和换行符&#xff08;\n&#xff09;组成的&#xff0c;而在 Unix/Linux 等系统中&#xff0c;只使用换行符&#xff08;\n&#xff…

【CTF-web】变量1(php全局变量)

题目链接&#xff1a;https://ctf.bugku.com/challenges/detail/id/76.html 注意到$$args&#xff0c;那么我们可以通过args输入一个已定义变量的名称来得到它的值&#xff0c;于是查询php的九大全局变量&#xff0c;如下表所示。 变量作用$_POST广泛用于收集提交 method“pos…

javaScript:数组的认识与使用以及相关案例

目录 一.前言 二.数组 1.认识 2.数组的声明 1.let arr [1,2,3,4] 2.结合构造函数&#xff0c;创建数组 注意&#xff1a; 3.数组长度的设置和获取 注意 4.删除数组元素 5.清空数组 三.获取数组元素 获取数组元素的几种方法 1.使用方括号 [] 访问元素&#xff1…

2023HVV最新0day、1day消息含POC、EXP

点击"仙网攻城狮”关注我们哦~ 不想当研发的渗透人不是好运维 让我们每天进步一点点 简介 2023HW-8月10号0day、1day漏洞汇总&#xff0c;包含以下漏洞需要自取。 链接&#xff1a;https://pan.baidu.com/s/1duOyDNjYBPKfC5eB9ZHA2Q 提取码&#xff1a;6666 通达OA sql注入…

Vue3.2+TS的defineExpose的应用

defineExpose通俗来讲&#xff0c;其实就是讲子组件的方法或者数据&#xff0c;暴露给父组件进行使用&#xff0c;这样对组件的封装使用&#xff0c;有很大的帮助&#xff0c;那么defineExpose应该如何使用&#xff0c;下面我来用一些实际的代码&#xff0c;带大家快速学会defi…