• 基于SSM框架下的JAVA客户关系管理系统


    每天记录学习,每天会有好心情。*^_^*

    今天和一个朋友共同完成了一个客户关系管理系统项目,我们在开发时选用的框架是SSM(MYECLIPSE)框架。我这个朋友知识有限,只会这个框架,哈哈,都是为了方便他。和往常一样选用简单又便捷的MYECLIPSE作为开发工具,这是一个 后台项目。这个系统的介绍是这样的:进行客户关系管理能充分利用顾客资源,通过客户交流.建立客户档案和与客户合作等,可以从中获得大量针对性强、内容具体、有价值的市场信息,包括有关产品特性和性能.销售渠道、需求变动、潜在用户等,可以将其作为企业各种经营决策的重要依据.从企业的长远利益出发,企业应保持并发展与客户的长期关系.双方越是相互了解和信任,交易越是容易实现,并可节约交易成本和时间,由过去逐次逐项的谈判交易发展成为例行的程序化交易.所有的企业都需要管理好自己的客户关系.随着CRM系统的推出,一种全新的"CRM营销"理念正逐渐形成.客户被作为一种宝贵的资源纳入到企业的经营发展中来了.,一个客户关系管理系统应包含用户角色有管理员、客户。为了能让用户顺利登陆系统完成相关操作,需要为每种登陆角色设置账户和密码字段。
    客户的存在是为了能更好的结合系统的功能。地区表的联系在这张表中得以体现,其关联关系为客户的地区与地区的mingcheng字段对应、客户的地区id与地区的id字段对应
    。订单的存在是为了能更好的结合系统的功能。客户表的联系在这张表中得以体现,其关联关系为订单的客户与客户的mingzi字段对应、订单的客户id与客户的id字段对应。

    总结得出该系统所有数据为:管理员(admin)、地区(diqu)、客户(kehu)、订单(dingdan)

    管理员表

    字段名 | 类型 | 属性 | 描述
    id | INT(11) | PRIMARY KEY | 管理员id
    username | VARCHAR(255) | | 账号
    password | VARCHAR(255) | | 密码

    地区表

    字段名 | 类型 | 属性 | 描述
    id | INT(11) | PRIMARY KEY | 地区id
    mingcheng | VARCHAR(255) | | 名称

    客户表

    字段名 | 类型 | 属性 | 描述
    id | INT(11) | PRIMARY KEY | 客户id
    mingzi | VARCHAR(255) | | 名字
    username | VARCHAR(255) | | 账号
    password | VARCHAR(255) | | 密码
    hangye | VARCHAR(255) | | 行业
    diqu | VARCHAR(255) | | 地区
    diquid | VARCHAR(255) | | 地区id

    订单表

    字段名 | 类型 | 属性 | 描述
    id | INT(11) | PRIMARY KEY | 订单id
    mingcheng | VARCHAR(255) | | 名称
    kehu | VARCHAR(255) | | 客户
    kehuid | VARCHAR(255) | | 客户id
    jieshao | VARCHAR(255) | | 介绍
    SET FOREIGN_KEY_CHECKS=0;
    
    -- ----------------------------
    
    -- ----------------------------
    
    -- Table structure for ggkehuguanxi
    
    -- ----------------------------
    
    DROP TABLE IF EXISTS `t_admin`;
    
    CREATE TABLE `t_admin` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '管理员id',`username` VARCHAR(255) DEFAULT NULL COMMENT '账号',`password` VARCHAR(255) DEFAULT NULL COMMENT '密码',PRIMARY KEY (`id`)
    
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='管理员';
    
    -- ----------------------------
    
    DROP TABLE IF EXISTS `t_diqu`;
    
    CREATE TABLE `t_diqu` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '地区id',`mingcheng` VARCHAR(255) DEFAULT NULL COMMENT '名称',PRIMARY KEY (`id`)
    
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='地区';
    
    -- ----------------------------
    
    DROP TABLE IF EXISTS `t_kehu`;
    
    CREATE TABLE `t_kehu` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '客户id',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '名字',`username` VARCHAR(255) DEFAULT NULL COMMENT '账号',`password` VARCHAR(255) DEFAULT NULL COMMENT '密码',`hangye` VARCHAR(255) DEFAULT NULL COMMENT '行业',`diqu` VARCHAR(255) DEFAULT NULL COMMENT '地区',`diquid` INT(11) DEFAULT NULL COMMENT '地区id',PRIMARY KEY (`id`)
    
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='客户';
    
    -- ----------------------------
    
    DROP TABLE IF EXISTS `t_dingdan`;
    
    CREATE TABLE `t_dingdan` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '订单id',`mingcheng` VARCHAR(255) DEFAULT NULL COMMENT '名称',`kehu` VARCHAR(255) DEFAULT NULL COMMENT '客户',`kehuid` INT(11) DEFAULT NULL COMMENT '客户id',`jieshao` VARCHAR(5000) DEFAULT NULL COMMENT '介绍',PRIMARY KEY (`id`)
    
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='订单';

    添加地区模块:

    在diquController中定义tianjiadiquact接收页面传入的地区参数,定义为diqu。其中diqu包含字段:名称,使用tianjiadiquact将该地区对象存入数据库中,在diquMapper中定义了insert方法,匹配数据库中的insert into diqu语句实现将地区数据存入数据库的操作。该部分核心代码如下:

    通过diqudao的insert方法将页面传输的地区添加到数据库中 diqudao.insert(diqu);

    将添加地区成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加地区成功");

    返回地区管理界面

    return "forward:/tianjiadiqu.action";

    查询地区模块:

    在后台diquguanli方法中,通过selectByexample方法获取所有的数据信息。将其保存到request中,在页面中通过foreach方法

    进行循环展示到table中。完成地区查询操作。具体代码如下:

    生成地区样例类,通过example定义查询条件 DiquExample example = new DiquExample();

    通过diqudao的selectByExample方法查询出所有的地区信息 List diquall = diqudao.selectByExample(example);

    将地区信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("diquall", diquall);

    返回地区管理界面

    return "forward:/diquguanli.action";

    修改地区模块:

    在页面完成地区的修改信息填写后,将该部分数据传入xiugaidiqu.action地址,并通过post进行提交。提交后在diquController中通过xiugaidiqu进行接收,将所有字段封装为一个地区实体。并将该实体传入diqudao中的updateByPrimaryKeySelective方法中,在该方法中定义了通过地区id更新其余地区的字段,该部分字段包括名称,该部分核心代码如下所示:

    通过diqudao的修改方法根据id修改对应的地区 diqudao.updateByPrimaryKeySelective(diqu);

    将修改地区成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改地区信息成功");

    返回地区管理界面

    return "forward:/diquguanli.action";

    删除地区模块:

    在页面中通过a标签,shanchudiqu?id=将id传入到后台中,通过shanchudiqu接收地区id。使用deleteByid的方法

    删除该地区,完成删除操作。定义删除成功提示信息,删除地区成功,并保存到request中,该部分代码如下:

    通过diqudao的删除方法根据id删除对应的地区 diqudao.deleteByPrimaryKey(id);

    将删除地区成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除地区成功");

    返回地区管理界面

    return "forward:/diquguanli.action";

  • 相关阅读:
    【原】得心应手小工具开发——网易公开课课程下载链接提取器
    【原】得心应手小工具开发——快播自动升级杀手
    【原】得心应手小工具开发——初步统计博客园首页博文的回复率
    【原】过去的平面作品整理
    【原】浅谈对社交类网站的忧虑
    【原】到底怎么样才叫看书?——下篇
    【原】得心应手小工具开发——公务员考试之筛选我的职位报名人数的小工具
    【原】《锋利的JQuery》读书笔记(三)
    C#中如何给自定义类的只读属性赋值
    关于 ASP, ASP.NET; VBS, VB.NET, JS, JS.NET, C# 的体会,思考
  • 原文地址:https://www.cnblogs.com/lqs11/p/11580877.html
Copyright © 2020-2023  润新知