项目整体构造

介绍: ssm框架+mybatis+element ui 实现
完成功能: CRUD + 分页查询 + 条件查询 + 图片上传阿里云OSS

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>cn.wd</groupId>
<artifactId>0614_ssm</artifactId>
<version>1.0</version>
<packaging>war</packaging>
<dependencies>
<!--spring-webmvc-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.15.RELEASE</version>
</dependency>
<!--mybatis依赖-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.6</version>
</dependency>
<!--mybatis和spring整合的依赖-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.6</version>
</dependency>
<!--mysql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version>
</dependency>
<!--druid连接池依赖-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.10</version>
</dependency>
<!--lombok依赖-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
</dependency>
<!--jackson java对象转换为json对象 @ResponseBody-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.13.2.2</version>
</dependency>
<!--servlet-api依赖-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.3.18</version>
</dependency>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.7</version>
</dependency>
<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.21</version>
</dependency>
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.10.2</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.3.0</version>
</dependency>
</dependencies>
</project>
测试类来使用 Mybatis generator
package cn.wd;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.exception.InvalidConfigurationException;
import org.mybatis.generator.exception.XMLParserException;
import org.mybatis.generator.internal.DefaultShellCallback;
import java.io.File;
import java.io.IOException;
import java.io.Reader;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
/**
* @author DouZi
* @Blog areone.top
*/
public class Tesst01 {
public static void main(String[] args) throws XMLParserException, IOException, SQLException, InterruptedException, InvalidConfigurationException {
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
File configFile = new File("generator.xml");
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = cp.parseConfiguration(configFile);
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
myBatisGenerator.generate(null);
}
}
项目完整源代码(gitee):element_ssm01_demo01整合 分页查询+模糊查询
2.分页/条件查询
package cn.wd.controller;
import cn.wd.entity.User;
import cn.wd.service.UserService;
import cn.wd.until.CommonResult;
import cn.wd.until.OSSUntil;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.stereotype.Repository;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
import java.util.Map;
/**
* @author DouZi
* @Blog areone.top
*/
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
//查询一个
// @RequestMapping("/getById")
// public User getByid(Integer userid) {
// User user = userService.findId(userid);
// return user;
// }
//获取全部
@RequestMapping("/getAll")
public CommonResult getAll(Integer currentPage, Integer pageSize,@RequestBody Map map) {
System.out.println(currentPage+"-----"+pageSize);
PageInfo<User> all = userService.findAll(currentPage,pageSize,map);
return new CommonResult(2000,"查询成功",all);
}
//删除
@RequestMapping("/delete")
public int getAll(Integer userid) {
int a = userService.del(userid);
return a;
}
//添加
@RequestMapping("/insert")
public int ins(User user) {
int b = userService.ins(user);
return b;
}
// 修改
@RequestMapping("/updata")
public int updata(User user) {
int p = userService.updata(user);
return p;
}
//头像上传
@RequestMapping("/uploadAvatar")
public CommonResult uploadAvatar(MultipartFile file) {
try {
String avatar = OSSUntil.upload(file);
System.out.println("图片:"+avatar);
return new CommonResult(2000, "上传成功", avatar);
} catch (Exception e) {
e.printStackTrace();
}
return new CommonResult(5000, "失败", null);
}
}

获取全部的时候传入一个Map
前端页面方法:
getPlay() {
var that = this;
axios.post("user/getAll?currentPage=" + this.currentPage + "&pageSize=" + this.pageSize, this.searchForm).then(function (result) {
if (result.data.code === 2000) {
console.log(result.data.data)
that.tableData = result.data.data.list;
that.total = result.data.data.total;
} else if (result.data.code === 5001) {
that.$message.error(result.data.msg);
location.href = "login.jsp"
} else {
that.$message.error(result.data.msg);
}
})
},前端如果条件查询的话设置的条件可能很多,后端一个一个接收比较麻烦,使用 Map 保存即可
Service方法

Service的实现类
实现类一定要开启PageHelper

使用where if 进行数据库的查询
//条件查询
<el-form :inline="true" :model="searchForm" class="demo-form-inline">
<el-form-item label="姓名">
<el-input v-model="searchForm.name" placeholder="姓名"></el-input>
</el-form-item>
<el-form-item label="邮箱">
<el-input v-model="searchForm.email" placeholder="邮箱"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSearch">查询</el-button>
</el-form-item>
</el-form>
版权声明:本文为wangdouzi376原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。