补充上文说。。。。。。。。
一、准备环境0、确保有mysql环境,然后设计数据库(我用的是mysql5.7)
表结构如下:
复制下列sql,运行导入数据即可
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;-- ----------------------------
-- Table structure for l_depart_info
-- ----------------------------
DROp TABLE IF EXISTS `l_depart_info`;
CREATE TABLE `l_depart_info` (
`object_id` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '部门id',
`depart_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '名称',
`parent_id` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '父级部门',
PRIMARY KEY (`object_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of l_depart_info
-- ----------------------------
INSERT INTO `l_depart_info` VALUES ('1', 'wy集团', NULL);
INSERT INTO `l_depart_info` VALUES ('1001', '人事行政部', '1');
INSERT INTO `l_depart_info` VALUES ('1002', '商务部', '1');
INSERT INTO `l_depart_info` VALUES ('2001', '研发二组', '1005');SET FOREIGN_KEY_CHECKS = 1;
完成应该是这样的
1、修改pom.xml文件,增加以下配置
org.mybatis.spring.boot
mybatis-spring-boot-starter
2.2.0
mysql
mysql-connector-java
5.1.42
org.springframework.boot
spring-boot-starter-jdbc
2、修改配置文件application.yml
补充一点:在项目中配置多套环境的配置方法
因为现在一个项目有好多环境,开发环境,测试环境,准生产环境,生产环境,每个环境的参数不同,所以我们就可以把每个环境的参数配置到yml文件中,这样在想用哪个环境的时候只需要在主配置文件中将用的配置文件写上就行
笔记:在Spring Boot中多环境配置文件名需要满足application-{profile}.yml的格式,其中{profile}对应你的环境标识,比如:
application-dev.yml:开发环境
application-test.yml:测试环境
application-prod.yml:生产环境
至于哪个具体的配置文件会被加载,需要在application.yml文件中通过spring.profiles.active属性来设置,其值对应{profile}值。
修改之前的application.yml文件如下:
spring:
profiles:
#dev表示的是我想用开发环境
active: dev
新建一个开发环境的application-dev.yml如下:
注意:如果是mysql8.0的版本,将driver-class-name项中的连接改成com.mysql.cj.jdbc.Driver
server:
# port访问的端口
port: 8888
servlet:
context-path: /
spring:
datasource:
username: root
password: root
url: jdbc:mysql://localhost:3306/csdn?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
driver-class-name: com.mysql.jdbc.Driver
mybatis:
# 操作数据库的文件路径根目录下的mapper文件夹下单所有xml文件
mapper-locations: classpath:mapper
public class DepartInfo implements Serializable {
private String objectId;//部门id
private String departName;//部门名称
private String parentId;//父级部门id
public String getObjectId() {
return objectId;
}
public void setObjectId(String objectId) {
this.objectId = objectId;
}
public String getDepartName() {
return departName;
}
public void setDepartName(String departName) {
this.departName = departName;
}
public String getParentId() {
return parentId;
}
public void setParentId(String parentId) {
this.parentId = parentId;
}
}
2、创建mapper层和配置文件
在mappe包下创建DepartInfoMapper接口
import com.wy.pojo.DepartInfo;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface DepartInfoMapper {
//根据id查询单条数据
DepartInfo selectById(String id);
//查询所有信息
List findAll();
}
在resource下的mapper文件下创建DepartInfoMapper.xml(注意:名称必须与接口保持一致)
3、创建Service层
在Service包下创建DepartInfoService接口
import com.wy.pojo.DepartInfo;
import java.util.List;
public interface DepartInfoService {
//根据id查询单条数据
DepartInfo selectById(String id);
//查询所有数据
List findAll();
}
在impl包下创建实现类DepartInfoServiceImpl类
import com.wy.mapper.DepartInfoMapper;
import com.wy.pojo.DepartInfo;
import com.wy.service.DepartInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class DepartInfoServiceImpl implements DepartInfoService {
//自动注入DepartInfoMapper对象
@Autowired
private DepartInfoMapper departInfoMapper;
@Override
public DepartInfo selectById(String id) {
//调用方法
return departInfoMapper.selectById(id);
}
public List findAll(){
//调用方法
return departInfoMapper.findAll();
}
}
4、修改上次的Controller
import com.wy.pojo.DepartInfo;
import com.wy.service.DepartInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/wy")
public class TestController {
@Autowired
private DepartInfoService departInfoService;
//restful风格
@GetMapping("/selectById/{id}")
public DepartInfo selectById(@PathVariable("id")String id){
DepartInfo departInfo = departInfoService.selectById(id);
return departInfo;
}
@GetMapping("/findAll")
public List findAll(){
List list = departInfoService.findAll();
return list;
}
}
三、测试运行
debug启动项目,在浏览器输入http://127.0.0.1:8888/wy/selectById/1001
(我是因为安装了json插件,所以会这么好看,按理说应该展示出来的是JSON字符串)
查询部门编号为1001的信息
查询所有部门信息(http://127.0.0.1:8888/wy/findAll)
写在最后(后端代码写完了,剩下的交给前端小姐姐吧 。。。。有空在把增删改写一下,还有注解版的吧)


