当前位置: 首页 > news >正文

网站建设都 包括哪些wordpress搬家到新浪

网站建设都 包括哪些,wordpress搬家到新浪,网络营销方法的选择,淘宝seo是什么在数据库设计中,一对多关系是非常多的,例如消息通知和附件,一个消息通知中往往会包含多个附件,这种情况下使用mybatis动态sql可以很方便的查询出来。 1、数据库设计 消息表:sys_message CREATE TABLE sys_message (i…

在数据库设计中,一对多关系是非常多的,例如消息通知和附件,一个消息通知中往往会包含多个附件,这种情况下使用mybatis动态sql可以很方便的查询出来。

1、数据库设计

消息表:sys_message

CREATE TABLE `sys_message` (`id` varchar(40) COLLATE utf8mb4_unicode_ci NOT NULL,`title` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '标题',`content` mediumtext COLLATE utf8mb4_unicode_ci COMMENT '内容',`message_fk` varchar(40) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '附件fk'PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='消息管理';

附件表:sys_attachment

CREATE TABLE `sys_attachment` (`id` varchar(40) NOT NULL COMMENT '主键',`file_name` varchar(50) NOT NULL COMMENT '原文件名',`storing_name` varchar(100) NOT NULL COMMENT '存储文件名',`size` bigint(20) NOT NULL COMMENT '大小',`fk` varchar(40) NOT NULL COMMENT '业务主键',`suffix_type` tinyint(4) DEFAULT NULL COMMENT '类型(后缀)',`file_type` tinyint(4) DEFAULT '0' COMMENT '文件类型:0其他 1图片 2视频',`url` varchar(200) NOT NULL COMMENT '访问地址',`absolute_path` varchar(200) NOT NULL COMMENT '绝对路径',PRIMARY KEY (`id`)
)

一条消息对应多个附件,附件表中的 fk引用消息表的message_fk


2、实现

返回类型是Message对象,其中有一个 List<SysAttachment> fileList,存储附件信息。

public class SysMessage extends LaboratoryBaseModel<SysMessage> {private static final long serialVersionUID=1L;       @TableField("id")private String id;@TableField("title")private String title;@TableField("content")private String content;@TableField("message_fk")private String messageFk;@TableField(exist = false)private List<SysAttachment> fileList;}

这种情况下,在动态sql的标签中,返回值只能使用resultMap属性接收:

 <select id="selectMessagePage" resultMap="sysMessageMap">SELECT*FROMsys_message a
</select>

resultMap是一个外部结果映射关系的引用,描述了结果数据的映射关系,在resultMap中有一个 collection标签,分别是:

  • column:message表的message_fk,即一对多的一中被引用的字段名
  • property:SysMessage中fileList属性,属性名是fileList
  • javaType:SysMessage中fileList属性的对应的java类型Arraylist
  • ofType:javaType的数据类型SysAttachment
  • select:需要引用的select标签的名字,<select id="selectFileByFk">

实际上, collection标签的含义是:对于每一条【消息查询】的结果,都要根据message_fk去到执行select属性中的查询语句,将查询结果封装到fileList属性。其中column属性会当作参数传递<select id="selectFileByFk">标签中。

	<resultMap id="sysMessageMap" type="cn.xxx.model.SysMessage"><result property="id" column="id"/><result property="title" column="title"/><result property="content" column="content"/><result property="messageFk" column="message_fk"/><collection column="message_fk"property="fileList"javaType="Arraylist"ofType="cn.yibiao163.laboratory.model.SysAttachment"select="selectFileByFk"></collection></resultMap>
<select id="selectFileByFk" resultMap="cn.xxx.repository.SysAttachmentMapper.sysAttachmentMap">select * from sys_attachment where is_deleted = 0 and fk = #{message_fk}
</select>

<select id="selectFileByFk" 标签中,使用了resultMap="cn.yibiao163.laboratory.repository.SysAttachmentMapper.sysAttachmentMap",除了resultMap还有一个 resultType属性,可以配置一个java类,用来转换sql语句执行的结果。应用如下:

<select id="selectFileByFk" resultType="cn.xxx.model.SysAttachment">select * from sys_attachment where is_deleted = 0 and fk = #{message_fk}
</select>
public class SysAttachment extends LaboratoryBaseModel<SysAttachment> {private static final long serialVersionUID=1L;@TableField("file_name")private String fileName;@TableField("storing_name")private String storingName;@TableField("size")private Long size;@TableField("fk")private String fk;@TableField("suffix_type")private String suffixType;@TableField("file_type")private Integer fileType;@TableField("url")private String url;@TableField("absolute_path")private String absolutePath;}

3、完整mapper.xml

<resultMap id="sysMessageMap" type="cn.yibiao163.laboratory.model.SysMessage"><result property="id" column="id"/><result property="title" column="title"/><result property="content" column="content"/><result property="messageFk" column="message_fk"/><collection column="message_fk"property="fileList"javaType="Arraylist"ofType="cn.yibiao163.laboratory.model.SysAttachment"select="selectFileByFk"></collection>
</resultMap><select id="selectMessagePage" resultMap="sysMessageMap">SELECT*FROMsys_message a
</select><select id="selectFileByFk" resultType="cn.xxx.model.SysAttachment">select * from sys_attachment where is_deleted = 0 and fk = #{message_fk}
</select>
http://www.cairui.net.cn/news/614/

相关文章:

  • 南宁企业建站工程建设部
  • 企业网站建设方案平台东风地区网站建设
  • 龙岗网站优化培训公司企业网站程序下载
  • 深圳公关公司推荐乐云seoseo在线优化排名
  • 企业网站管理系统演示平台专业福州网站建设
  • 宁波市国家高新区建设局网站网站服务器安全配置
  • 慈溪网站制作哪家最好wordpress开发
  • 制作图片的免费网站企业服务中心抖音
  • 网站备案需要拍照怎么利用自媒体做网站优化
  • 在网上做效果图的网站网页搜索能力属于什么素养
  • wordpress怎么恢复默然设置织梦网站怎么做优化
  • 校园二手网站开发的意义网站建设毕业设计开题报告
  • 网站备案网站名称怎么填做网站用什么技术好
  • 室内设计网站有哪些知乎wordpress 文章连续
  • 编程学习入门网站百度云盘资源
  • 做推广哪个平台网站好做网站工资多少
  • wordpress+资源站模板wordpress 常量
  • 银行网站 设计方案网站源码 手机 微信
  • seo网站的优化流程wordpress m编辑器
  • 泉州市住房与城乡建设局网站网站建设需要哪些技术人员
  • 凡科 360免费建站有人有片在线观看的资源
  • 建网站免费程序局域网wordpress
  • 一键优化ppt网站新闻不添加关键词超链接对优化有影响吗
  • 宿迁企业网站建设电子商务网站怎么做数据库
  • 界首网站建设网站开发实训目的
  • pc网站如何做移动网站wordpress 模板4列插件
  • 网站首页设计过程石家网站建设公司排名
  • hefei 网站制作专门做网站的app
  • 建设机械网站平台拼多多搜索关键词排名
  • 网站规划和建设方案25个网站