项目架构
pojo:实体类层,封装的是数据中的设计的表对应的元素,及其相关函数。
dao/mapper:Mapper的接口(如查询所有User/插入User等)以及Mapper.xml文件,实现sql操作。
Service:服务实现层,调用dao/mapper层方法进行实现,如果项目不需要处理逻辑,service和dao层一样。
Controller:控制层,调用一个个Service层的实现方法完成一个个具体功能/返回给前端。
准备工作
创建数据库
drop table if exists department;
CREATE TABLE department (
did int NOT NULL AUTO_INCREMENT,
departmentName varchar(20) NOT NULL,
PRIMARY KEY (did)
) Engine=INNODB AUTO_INCREMENT=106 DEFAULT CHARSET=UTF8;
/*Data for the table `department` */
insert into `department`(`did`,`departmentName`) values (101,'教学部'),(102,'市场部'),(103,'教研部'),(104,'运营部'),(105,'后勤部');
/*Table structure for table `employee` */
CREATE TABLE `employee` (
`id` int NOT NULL AUTO_INCREMENT,
`lastName` varchar(20) NOT NULL,
`email` varchar(20) NOT NULL,
`gender` int NOT NULL,
`birth` date DEFAULT NULL,
`department` int NOT NULL,
PRIMARY KEY (`id`),
KEY `did` (`department`),
CONSTRAINT `did` FOREIGN KEY (`department`) REFERENCES `department` (`did`)
) Engine=INNODB auto_increment=1015 DEFAULT CHARSET=UTF8;
/*Data for the table `employee` */
insert into `employee`(`id`,`lastName`,`email`,`gender`,`birth`,`department`) values (1001,'AA','121456qq.com',1,'2021-03-09',101),(1003,'BB','124561@qq.com',0,'2021-05-03',105),(1005,'zhangsan','1210418430@qq.com',1,'2021-07-04',102),(1006,'zhangsan','1210418430@qq.com',1,'2021-07-04',102),(1009,'zhangsans','a123456yy@qq.com',1,'2000-02-02',102),(1010,'20210704','14565430@qq.com',0,'2000-02-02',105),(1011,'djfihasf\'','1214546@qq.com',0,'2000-02-02',103),(1014,'sadasdsad','456430@qq.com',0,'2000-02-02',103);
/*Table structure for table `user` */
drop table if exists user;
CREATE TABLE `user` (
`id` int NOT NULL,
`name` varchar(20) DEFAULT NULL,
`pwd` varchar(30) DEFAULT NULL,
`perms` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*Data for the table `user` */
insert into `user`(`id`,`name`,`pwd`,`perms`) values (1,'java','java','user:add'),(2,'1210','1210','user:add'),(3,'wsad','1210','user:add'),(5,'c++','1210','user:add'),(6,'张三','1210','user:update'),(7,'张思','1210','user:update'),(8,'李四','1210','user:update'),(9,'root','123','user:update');
新建一个Springboot项目
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
配置文件
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis?useSSL=false&useUnicode=true&characterEncoding=UTF-8
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# 整合mybatis
mybatis.type-aliases-package=com.cao.pojo
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml