内部邮件管理的数据库设计和dwz的批量处理

dwz框架学习笔记之(七)

好久没写博客了,最近安排做内部邮件管理模块,做之前要先设计好数据库,也网上找了163邮箱数据库设计,虽然要做的没有163邮箱的复杂,但是它的数据设计还是有借鉴作用。总共需要三张表:写信表,收件表和附件表。三者的关系是写信表与收件表1对n的关联关系,写信表与附件表也是1对n的关联关系。当存储时,会发现一个问题,因为写信表的id是自增长,当你要把收件信息存储到收件表时,你需要存储发件信息刚存储一条记录的id,问题就是怎样要获得数据自增长id,遇到这个问题时,由于以前都没有遇到过,而且学数据库也没想过这问题,那只有百度,(数据库用到是mySQL)百度查到的是mySQL有一个last_insert_id()方法,数据库刚insert一条数据,能通过这个方法得到自增长id,想要了解这个方法可以去查找资料,但是对于我来说这个方法不行,因为当我执行完插入写信表数据后,在执行这个方法得不到最后一条插入数据的id,可能是底层设计的问题,因此只有第二种方法,再插入数据之前查询数据的最大id数,这个办法虽然很不好,但是也只有这样了。(后来得知底层已经写好了一个得到自增长方法,是不是很晕死)

这是收件箱界面,是不是很丑啊,对此我也很无奈,dwz框架没有BootStrap一样花哨的按钮,邮件状态的图片是在http://www.iconpng.com/search/icon=邮件图标/7,这个网站的图标还是很丰富的,希望能找到你需要的图标。这里我碰到批量处理问题,如何把界面前选中的多条记录的id传到后台。

<th width="22"><input type="checkbox" group="ids" class="checkboxCtrl"></th>

<td><input name="ids" value="${sendmailinfo.send_mail_id}" type="checkbox"></td>

这上面的代码按照dwz框架的给的案例一样写,唯一不同的地方,是批量处理的按钮不同,代码如下:

<li><a class="delete" target="selectedTodo" rel="ids" postType = ‘string‘ href="<c:url value=‘/management/internalMail/sendMail/moreDelete.htm‘/>" title="你确定要删除吗?"><span>删除</span></a></li>

不同的地方是多了postType = ‘string‘这个,后台只要获得ids这个,id以1,2,3这种格式赋值给ids。后台在再通过

List<String> list = StringUtils.getSplitStringToList(ids, ",");

for (int i = 0; i < list.size(); i++) {

String id = list.get(i).toString();

//将邮件变为已读

receiveMailService.changeFalgDele(id);

}

将信息存储到数据库。(spring mvc)

最后总结一下,主要就是解决两个问题:1.如何获取数据库自增长id;2.dwz如何获取批量处理数据的id值。(内部邮件管理设计表文档:http://download.csdn.net/detail/u012157999/8746079)

时间: 2024-08-23 04:43:39

内部邮件管理的数据库设计和dwz的批量处理的相关文章

关于权限的数据库设计

不管是在网站开发还是MIS系统开发中,涉及到多用户的软件系统都会遇到这个问题,如何比较优雅的解决这个问题也一直是大家经常探讨的热门话题,本文试着谈论一下自己的观点,希望和大家共同切磋. 方法一:    用户表:  T_UserInfo     id     name    对象表:  T_Object     id     name    权限表  T_Access     accessid     userid(外键,来自用户表)     objectid(外键,来自对象表)     acce

&lt;&lt;MySchool数据库设计优化&gt;&gt; 内部测试

1) 在SQL Server 中,为数据库表建立索引能够( C ). A. 防止非法的删除操作 B. 防止非法的插入操作 C. 提高查询性能 D. 节约数据库的磁盘空间 解析:索引的作用是通过使用索引,大大提高数据库的检索速度,改善数据库性能 2) 在SQL SERVER中,创建一个表使用(  C)语句. A. INSERT B. DROP C. CREATE D. ALERT 解析:A :insert 插入数据.   B: drop 进行删除操作 D:alter 添加约束 3) 在SQL SE

SSM实战——秒杀系统之创建项目、管理依赖、设计数据库

注:本项目使用Myeclipse开发. 一:项目创建 1:使用Myeclipse创建一个web project,命名为MySeckill,并转换为Maven项目. 2:创建项目文件目录如下: 上面四个包分别管理:源代码.源代码资源(配置文件).测试代码.测试代码资源(配置文件) 3:在pom.xml添加SSM框架所需依赖包: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.

RBAC用户权限管理数据库设计

http://minjiechenjava.iteye.com/blog/1759482 RBAC用户权限管理数据库设计 博客分类: RBAC 权限设计 RBAC RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成"用户-角色-权限"的授权模型.在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系.(如下图) 角色是什么?可以理解为一定数

ylbtech-Bill(发票管理)-数据库设计

ylbtech-dbs:ylbtech-Bill(发票管理)-数据库设计 -- =============================================-- DatabaseName:Bill-- desc:票据管理系统-- pubdate:15:20 2014-12-23-- author:ylbtech-- ============================================= 1.A,数据库关系图(Database Diagram) 返回顶部 1.B,

知识管理系列---2.数据库设计

系列引导: 知识管理系列----1.原型设计 知识管理系列----2.数据库设计 前言: 数据库的设计是整个数据架构最核心的部分. 详细设计部分: 此数据库设计为V1.0版本,后续开发过程中会进行版本迭代. 数据库创建SQL脚本:SQL脚本 原文地址:https://www.cnblogs.com/xiaowangzi1987/p/8456020.html

【软件工程】02组软件工程组队项目——课程管理小助手数据库设计文档

一.引言 1.1编写目的 数据库的表结构设计是整个项目开发中一个非常重要的环节,一个良好的数据库设计,可以提高开发效率,方便系统维护,并且为以后项目功能的扩展留下余地.我们通过书写这份文档说明,从各方面进行学生课程管理小助手系统的数据库设计规划,用它指导该系统在数据库各方面的内容,为系统开发的程序员.系统分析员提供基准文档.我们也希望通过写数据设计说明书,规范数据名称.数据范围.数据代码等.这份文档是项目小组共同作战的基础,有了开发规范.程序模块之间和项目成员之间的接口规则.数据方式,大家就有了

权限管理设计------之数据库设计

一,前言 权限管理系统的应用者应该有三种不同性质上的使用, A,使用权限 B,分配权限 C,授权权限 本文只从<使用权限>和<分配权限>这两种应用层面分析,暂时不考虑<授权权限>这种. 二,初步分析 用户和角色 说到权限管理,首先应该想到,当然要设计一个用户表,一个权限表.这样就决定了一个人有什么样的权限. 做着做着就会发现这样设计太过繁琐,如果公司里面所有员工都有这样的权限呢,每一个人都要配置?那是一件很痛苦的事情.因此再添加一个角色表,把某些人归为一类,然后再把权限

【Android 开发实例】时间管理APP开发之数据库设计

当然也可以先写界面什么的,但是,总觉得先把数据库后台写好在写界面比较放心. 对于数据库的设计,我一开始没什么概念,甚至不知道如何下手,一开始想着设计成几个表?有哪些字段? 最后用了两天时间,还是一无所获. 最后参照着数据库系统概论课的一些东西以及查看别的项目的源码,才大概的确定数据库. 因为这个APP的类别被我确定只能是二级类别.所以我设计成三个表: 总类表,子类表,详细记录表. (程序代码中出现的Log语句仅为我自己测试输出使用的) 代码如下: package suool.net.timesu