项目github地址
https://github.com/flyduckforever/springbootMP
项目基本结构文档
pox依赖
<!--统一版本,里面有个pom里面有dependency Managenment,里面已经规定了版本-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.3.RELEASE</version>
</parent>
<!--依赖-->
<dependencies>
<!--引入这个依赖,springboot里面的许多默认配置都会启用,tomcat,mvc之类-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--jdbc启动器-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!--mysql数据库驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--mybatis启动器-->
<!--<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>-->
<!--通用mapper,可以完成单表CRUD,可以代替mybatis启动器-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.7.1</version>
</dependency>
<!--热部署-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
<!--连接池-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.6</version>
</dependency>
<!--自动get和set方法-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!--测试-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
启动器Application
@SpringBootApplication
@MapperScan("com.biz.mapper")
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class);
}
}
开始整合mybatis
配置文件application.yml
server:
port: 8082
servlet:
context-path: /demo
spring:
application:
name: mybatis-plus-curd
datasource:
username: root
password: 1234
url: jdbc:mysql://localhost:3306/springboot?characterEncoding=utf-8&serverTimezone=GMT%2B8
driver-class-name: com.mysql.cj.jdbc.Driver
type: com.alibaba.druid.pool.DruidDataSource
mvc:
servlet:
load-on-startup: 1
mybatis-plus:
type-aliases-package: com.biz.pojo
mapper-locations: classpath:mapper/*.xml
pojo
@Data
public class Hero {
@TableId(type = IdType.AUTO)
private Integer id;
private String username;
private String profession;
private String phone;
private String email;
private Date onlinetime;
}
mapper里面的接口,HeroMapper(接口)
这个不用spring管理,因为@MapperScan
public interface HeroMapper extends BaseMapper<Hero> {
//自己定义的一个方法
public List<Hero> getAllHero();
}
接口对应xml文件HeroMapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org/DTD Mapper 3.0" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 指明当前xml对应的Mapper -->
<mapper namespace="com.biz.mapper.HeroMapper">
<select id="getAllHero" resultType="com.biz.pojo.Hero">
select * from `tb_hero`;
</select>
</mapper>
service和controller
service
接口HeroService
public interface HeroService {
public List<Hero> getAllHero();
}
实现类HeroServiceImpl
@Service
public class HeroServiceImpl implements HeroService {
@Autowired
private HeroMapper heroMapper;
@Override
public List<Hero> getAllHero() {
return heroMapper.getAllHero();
}
}
controller
@RestController
public class MyController {
@Autowired
private HeroService heroService;
@RequestMapping("getAllHero")
public String getAllHero(){
List<Hero> allHero = heroService.getAllHero();
System.out.println(allHero);
return "hello";
}
}