2.5.2.1 可视化项目案例(需求分析、环境搭建、用户登录登出、用户模块显示、分页、增删改)

可视化项目案例



一、 需求分析与环境搭建

1.1 需求分析

1.1.1 需求分析

用户登录
在这里插入图片描述
首页的原型
在这里插入图片描述
用户模块
在这里插入图片描述
招聘市场图表统计
在这里插入图片描述

1.1.2 项目技术栈

在这里插入图片描述

1.1.3 数据数据库设计

1.用户表user的描述
后台用户表信息
在这里插入图片描述

CREATE TABLE `user`(
	id INT PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
	username VARCHAR(50)  NOT NULL  COMMENT '用户名',
	PASSWORD VARCHAR(50)  NOT NULL  COMMENT '密码',
	email VARCHAR(50)  NOT NULL  UNIQUE COMMENT '邮件',
	phone VARCHAR(20)  DEFAULT NULL COMMENT '电话',
	create_time DATETIME,
	update_time DATETIME	
);

2.职位信息表 position_info_v2
描述职位及公司信息
在这里插入图片描述

CREATE TABLE `position_info_v2` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `company_id` int(11) DEFAULT NULL COMMENT '公司id',
  `company_code` varchar(100) DEFAULT NULL COMMENT '公司code',
  `company_jc` varchar(100) DEFAULT NULL COMMENT '公司简称',
  `position_name` varchar(50) DEFAULT NULL COMMENT '职位名称',
  `position_code` varchar(100) DEFAULT NULL COMMENT '职位ID',
  `position_city` varchar(20) DEFAULT NULL COMMENT '职位城市',
  `position_salary` varchar(20) DEFAULT NULL COMMENT '职位薪资',
  `work_year` varchar(20) DEFAULT NULL COMMENT '工作年限',
  `edu` varchar(10) DEFAULT NULL COMMENT '学历',
  `position_type_name` varchar(20) DEFAULT NULL COMMENT '职位分类名称',
  `position_type_code` varchar(50) DEFAULT NULL COMMENT '职位分类code',
  `position_boss` varchar(20) DEFAULT NULL COMMENT '职位发布人',
  `position_boss_position` varchar(100) DEFAULT NULL COMMENT '职位发布人职位',
  `position_update_date` varchar(20) DEFAULT NULL COMMENT '职位更新日期',
  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '插入日期',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3730164 DEFAULT CHARSET=utf8;

3.职位类型信息表 position_type_info_v2
描述职位类型及公司信息
在这里插入图片描述

CREATE TABLE `position_type_info_v2` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `position_type_name` varchar(50) DEFAULT NULL COMMENT '职位分类名称',
  `position_type_code` varchar(50) DEFAULT NULL COMMENT '职位分类code',
  `position_num` int(11) DEFAULT NULL COMMENT '职位分类中职位数量',
  `company_id` int(11) DEFAULT NULL COMMENT '公司id',
  `company_jc` varchar(100) DEFAULT NULL COMMENT '公司简称',
  `company_code` varchar(255) DEFAULT '',
  `status` char(5) NOT NULL DEFAULT '0' COMMENT '抓取状态',
  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '插入日期',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1001818 DEFAULT CHARSET=utf8;

4.省份表 Province
在这里插入图片描述

REATE TABLE Province(ProvinceID INT PRIMARY KEY ,NAME VARCHAR(50));

5.城市表 City
在这里插入图片描述

 CREATE TABLE City(CityID INT PRIMARY KEY ,ProvinceID INT ,NAME VARCHAR(50));

2.环境搭建

1.2.1 工程环境

  • 安装配置maven环境
  • 配置环境变量
  • 配置仓库 1、找到Maven解压目录\conf\settings.xml 2、在setting.xml 文件中找到 localRepository 标签 3、将 < localRepository>/path/to/local/repo</
    localRepository>从注释中取出 4、将标签体内容修改为自定义的Maven仓库目录
  • 在maven的安装目录中 apache-maven-3.2.1/conf/settings.xml 配置本地仓库: 在这里插入图片描述
  • 配置远程镜像 在这里插入图片描述
  • IDEA的jdk环境

这里是引用

  • lombok插件安装

这里是引用

1.2.2 数据库环境

  • 数据库节点位于centos7-1 虚拟节点:
    在这里插入图片描述
  • 修改linux下mysql的配置信息
    MySQL根据配置文件会限制Server接受的数据包大小,有时候大的插入和更新会受max_allowed_packet 参数限制,导致大数据写入或者更新失败。

1.查看目前配置
mysql> show VARIABLES like ‘max_allowed_packet’;
#max_allowed_packet的单位为字节:
#转化为Mb,就是1024Mb
2.修改mysql配置文件
可以编辑/etc/my.cnf,在[mysqld]段或者mysql的server配置段进行修改。
max_allowed_packet = 800M
3.重启mysql

  • 导入数据
    数据表较大,首先创建数据库visualization ,然后导入表信息(使用切割表工具sqldumpsplitter)
    在这里插入图片描述

1.2.3 项目结构

在这里插入图片描述

  • 公共基础模块common
    存放转换对象
    服务器通用返回对象
    响应码对象
    常量对象

  • 控制层controller
    存放各个业务逻辑的控制器

  • 服务层service
    服务接口
    服务器实现

  • 持久mapper
    映射接口

  • 模型层model
    存放数据模型

  • 视图模型vo
    view object模型对象

  • 工具util
    通用工具类

1.2.4 项目框架搭建

1.引入pom.xml

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.lagou</groupId>
  <artifactId>lg-visualization</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <dependencies>

    <!-- 单元测试 -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
    </dependency>

    <!-- Spring -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>5.0.5.RELEASE</version>
    </dependency>


    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>5.0.5.RELEASE</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aspects</artifactId>
      <version>5.0.5.RELEASE</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <version>5.0.5.RELEASE</version>
    </dependency>
    <!-- Mybatis -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.2.8</version>
    </dependency>


    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis-spring</artifactId>
      <version>1.3.0</version>
    </dependency>

    <!-- MySql -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.46</version>
    </dependency>

    <!--日志包-->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.6.6</version>
    </dependency>

    <!-- 连接池 -->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>druid</artifactId>
      <version>1.0.14</version>
    </dependency>

    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
      <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>javax.servlet.jsp-api</artifactId>
      <version>2.2.1</version>
      <scope>provided</scope>
    </dependency>


    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>2.9.0</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.9.0</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
      <version>2.9.0</version>
    </dependency>
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.18.12</version>
    </dependency>


    <dependency>
      <groupId>commons-collections</groupId>
      <artifactId>commons-collections</artifactId>
      <version>3.2.1</version>
    </dependency>

    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
      <version>3.5</version>
    </dependency>


    <dependency>
      <groupId>com.github.pagehelper</groupId>
      <artifactId>pagehelper</artifactId>
      <version>5.1.4</version>
    </dependency>

  </dependencies>

  <build>
    <plugins>
      <!-- 配置Tomcat插件 -->
      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version>
        <configuration>
          <path>/</path>
          <port>8080</port>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.2</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
          <encoding>UTF-8</encoding>
        </configuration>
      </plugin>
    </plugins>
  </build>

</project>

配置文件的思路
在这里插入图片描述
在这里插入图片描述
2.spring配置文件
在这里插入图片描述
applicationContext-dao.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">


    <!--1)加载外部数据库信息 jdbc.properites-->
    <context:property-placeholder location="classpath:jdbc.properties"/>

    <!--2)数据源的配置 druid-->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
        <property name="driverClassName" value="${jdbc.driver}"></property>
        <property name="url" value="${jdbc.url}"/>
        <property name="username" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
    </bean>

    <!--3)SqlSessionFactoryBean  (加载dataSource , 加载mybatis-config.xml)-->
    <bean id="sqlSesionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!-- 注入连接池  -->
        <property name="dataSource" ref="dataSource"/>
        <!-- 加载mybatis-config.xml  -->
        <property name="configLocation" value="classpath:mybatis/mybatis-config.xml"/>
    </bean>

    <!--4)Mapper包扫描-->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <!-- 扫描映射文件比如:AccountMapper.xml 加载该文件; 还会扫描接口AccountMapper接口创建代理对象  -->
        <property name="basePackage" value="com.lagou.mapper"/>
    </bean>

</beans>

applicationContext-service.xml

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值