基于javaweb+mysql的ssm冷链运输管理系统(java+ssm+thymeleaf+html+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb+mysql的SSM冷链运输管理系统(java+ssm+thymeleaf+html+mysql)

一、项目运行

1.运行环境

环境配置:

Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)

项目技术:

HTML +Spring+ SpringMVC + MyBatis + ThymeLeaf + JavaScript + JQuery + Ajax + Maven+ MYSQL数据库等等

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。

2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;

3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可

4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;

5.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目

6.数据库:MySql 5.7、8.0等版本均可;

技术栈

  1. 后端:Spring+springmvc+mybatis

  2. 前端:ThymeLeaf+HTML+javascript+jQuery

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件;

  2. 使用IDEA/Eclipse/MyEclipse导入项目,配置tomcat;

  3. 将项目中db.properties配置文件中的数据库配置改为自己的配置;

  4. 运行项目,在浏览器中输入地址:http://localhost:8080/项目名称


map.put("status", "true");

map.put("info", "成功删除选中 " + total + " 个客户中的 " + success + " 个客户");

return map;

@RequestMapping("/add")

@RequiresPermissions("customer:insert")

public String add(Model m) {

//查出地区列表

BasicDataExample basicDataExample = new BasicDataExample();

basicDataExample.createCriteria().andParentIdEqualTo(ConstantDataField.AREA_BASICDATA_ID);

List<BasicData> basicDatas= basicDataService.selectByExample(basicDataExample);

m.addAttribute("areas",basicDatas);

if (userIds.length == 1) {

int res = userService.deleteByPrimaryKey(userIds[0]);

if (res == 1) {

map.put("status", "true");

map.put("info", "删除成功!");

return map;

map.put("status", "false");

map.put("info", "删除失败!用户已经不存在");

return map;

//批量删除

int success = 0;

int total = userIds.length;


int success = 0;

int total = userIds.length;

for(Long userId : userIds) {

success += userService.deleteByPrimaryKey(userId);

map.put("status", "true");

map.put("info", "成功删除选中 " + total + " 个用户中的 " + success + " 个用户");

return map;

@RequiresPermissions("admin:insert")

@RequestMapping("/add")

public String addAdmin(Model m) {

RoleExample roleExample = new RoleExample();

List<Role> roles = roleService.selectByExample(roleExample);
//真实名字条件

UserExample.Criteria criteriaRealName = userExample.createCriteria();

criteriaRealName.andRealnameLike("%" + keyWord + "%");

//将两个条件用 or 组合

userExample.or(criteriaRealName);

List<User> users = userService.selectByExample(userExample);

//获得分页对象

PageInfo<User> pageInfo = new PageInfo<>(users);

return pageInfo;

@ResponseBody

@RequestMapping("/delete")

@RequiresPermissions("admin:delete")


@Autowired

private CustomerViewService customerViewService;

@Autowired

private CustomerService customerService;

@Autowired

private BasicDataService basicDataService;

@Autowired

private UserService userService;

@RequestMapping("/list")

@RequiresPermissions("customer:list")

public String list() {

return "customer/list";


@Autowired

private UserService userService;

@Autowired

private RoleService roleService;

@RequestMapping("/list")

@RequiresPermissions("admin:list")

public String adminList() {

return "admin/list";

/**

* 该方法返回 admin 集合的 JSON 字符串,使用 PageHelper 工具进行分页

List<User> users = userService.selectByExample(userExample);

//获得分页对象

PageInfo<User> pageInfo = new PageInfo<>(users);

return pageInfo;

@ResponseBody

@RequestMapping("/delete")

@RequiresPermissions("admin:delete")

public Map<String, String> delete(Long[] userIds) {

HashMap<String, String> map = new HashMap<>();

if (userIds.length == 1) {


//开始分页,这里启动并设置页码,和每页结果数量后,后续结果会自动为分页后结果

PageHelper.startPage(pageNum, pageSize);

CustomerViewExample customerViewExample = new CustomerViewExample();

CustomerViewExample.Criteria criteria = customerViewExample.createCriteria();

/**

* StringUtils.isNotBlank 可以判断 ""/" "/null 为 false

*/

if (StringUtils.isNotBlank(keyWord)) {

//权限名条件

criteria.andCustomerNameLike("%" + keyWord + "%");

//判断当前登录用户是否为业务员,业务员只能查看自己的客户


@RequestMapping("/list")

@RequiresPermissions("customer:list")

public String list() {

return "customer/list";

@ResponseBody

@RequestMapping("/getCustomers")

@RequiresPermissions("customer:list")

public PageInfo<CustomerView> getCustomers(String keyWord,

@RequestParam(defaultValue = "1") Integer pageNum,

@RequestParam(defaultValue = "10") Integer pageSize) {

//开始分页,这里启动并设置页码,和每页结果数量后,后续结果会自动为分页后结果

PageHelper.startPage(pageNum, pageSize);


if (res == 1)

return true;

return false;

@ResponseBody

@RequestMapping("/checkRole")

@RequiresPermissions("role:list")

public Boolean checkRole(String name, String curName) {

if (curName != null && name.equals(curName)) {

return true;

RoleExample roleExample = new RoleExample();

RoleExample.Criteria criteria = roleExample.createCriteria();

criteria.andRolenameEqualTo(name);


public Boolean insert(Role role){

int res = roleService.insert(role);

if (res == 1)

return true;

return false;

@ResponseBody

@RequestMapping("/checkRole")

@RequiresPermissions("role:list")

public Boolean checkRole(String name, String curName) {

if (curName != null && name.equals(curName)) {

return true;

RoleExample roleExample = new RoleExample();

RoleExample.Criteria criteria = roleExample.createCriteria();


RoleExample.Criteria criteria = roleExample.createCriteria();

criteria.andRolenameEqualTo(name);

if (roleService.selectByExample(roleExample).size() != 0) {

return false;

return true;

@RequestMapping("/edit")

@RequiresPermissions("role:update")

public String edit(Model m, Long roleId) {

m.addAttribute("role", roleService.selectByPrimaryKey(roleId));

return "role/edit";


*/

if (StringUtils.isNotBlank(keyWord)) {

//角色条件

RoleExample.Criteria criteriaUserName = roleExample.createCriteria();

criteriaUserName.andRolenameLike("%" + keyWord + "%");

List<Role> roles = roleService.selectByExample(roleExample);

//获得分页对象

PageInfo<Role> pageInfo = new PageInfo<>(roles);

return pageInfo;

@ResponseBody

@RequestMapping("/delete")

@RequiresPermissions("role:delete")

public Map<String, String> delete(Long[] roleIds) {


return true;

return false;

@ResponseBody

@RequestMapping("/checkRole")

@RequiresPermissions("role:list")

public Boolean checkRole(String name, String curName) {

if (curName != null && name.equals(curName)) {

return true;

RoleExample roleExample = new RoleExample();

RoleExample.Criteria criteria = roleExample.createCriteria();


@RequestMapping("/update")

@RequiresPermissions("admin:update")

public Boolean update(User user) {

if (StringUtils.isBlank(user.getPassword())) {

user.setPassword(null);

} else {

String salt = UUID.randomUUID().toString().substring(0, 4);

String hashedPassword = new SimpleHash("md5", user.getPassword(), salt, 3).toString();

user.setPassword(hashedPassword);

user.setSalt(salt);

int res = userService.updateByPrimaryKeySelective(user);

if (res == 1) {

return true;


private RoleService roleService;

@RequestMapping("/list")

@RequiresPermissions("admin:list")

public String adminList() {

return "admin/list";

/**

* 该方法返回 admin 集合的 JSON 字符串,使用 PageHelper 工具进行分页

* @param keyWord 搜索关键字

* @param pageNum 页数,默认为 1

* @param pageSize 每个页面用户容量,默认为 10/页

* @return
for(Long userId : userIds) {

success += userService.deleteByPrimaryKey(userId);

map.put("status", "true");

map.put("info", "成功删除选中 " + total + " 个用户中的 " + success + " 个用户");

return map;

@RequiresPermissions("admin:insert")

@RequestMapping("/add")

public String addAdmin(Model m) {

RoleExample roleExample = new RoleExample();

List<Role> roles = roleService.selectByExample(roleExample);

m.addAttribute("roles", roles);

@RequestMapping("/customer")

public class CustomerController {

@Autowired

private CustomerViewService customerViewService;

@Autowired

private CustomerService customerService;

@Autowired

private BasicDataService basicDataService;

@Autowired

private UserService userService;

@RequestMapping("/list")

@RequiresPermissions("customer:list")

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

Logo

电商企业物流数字化转型必备!快递鸟 API 接口,72 小时快速完成物流系统集成。全流程实战1V1指导,营造开放的API技术生态圈。

更多推荐