文章目录
前言
每次想写一个springBoot+mybatis项目的代码时都要经过 建库建表->导入依赖->写实体类和mapper接口等->配置yml
这样一个无脑重复的过程,如果直接把这些死代码直接复制粘贴就可以把时间集中在我们要研究的代码上而不用浪费时间在这些前置过程中!
一、数据库表结构
二、项目最终目录结构
三、引入常用依赖(pom.xml)
代码如下:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.0.RELEASE</version>
<relativePath />
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.2</version>
</dependency>
<!-- MySQL数据库驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<!-- <version>8.0.27</version>-->
</dependency>
<!-- swagger依赖 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
</dependencies>
四、实体类和接口和业务和控制器代码
4.1 实体类代码(Xxx.java)
代码如下:
@Data
@TableName("XX_xxx") // 该类所对应的数据库表名
@ApiModel(value="Xxx对象", description="")
public class Xxx {
@ApiModelProperty(value = "主键")
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@ApiModelProperty(value = "姓名")
@TableField("name")
private String name;
@ApiModelProperty(value = "性别")
@TableField("sex")
private String sex;
@ApiModelProperty(value = "生日")
@TableField("birthday")
private LocalDateTime birthday;
}
4.2 mapper接口代码(IXxxMapper.java)
@Mapper
public interface IXxxMapper extends BaseMapper<Xxx> {
}
4.3 mapper接口实现(IXxxMapper.xml)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.venny.demo.mapper.IXxxMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.venny.demo.entity.Xxx">
<id column="id" property="id" />
<result column="name" property="name" />
<result column="sex" property="sex" />
<result column="birthday" property="birthday" />
</resultMap>
</mapper>
4.4 业务接口(IXxxService.java)
public interface IXxxService extends IService<Xxx> {
Xxx findOne(Integer id); // 查询表中一条记录
}
4.5 业务接口实现类(XxxServiceImpl.java)
@Service
public class XxxServiceImpl extends ServiceImpl<IXxxMapper, Xxx> implements IXxxService {
@Resource
private IXxxMapper xxxMapper;
/**
* 查询表中一条记录
* @param id
* @return
*/
@Override
public Xxx findOne(Integer id) {
Xxx xxx = xxxMapper.selectById(id);
return xxx;
}
}
4.6 控制器(XxxController.java)
@RestController
@RequestMapping("/demo/xxx")
public class XxxController {
@Autowired
private IXxxService xxxService;
@GetMapping("/findOne/{id}")
public String findOne(@PathVariable("id") Integer id) {
return xxxService.findOne(id).toString();
}
}
五、配置(application.yml)
spring:
profiles:
active: dev
application-dev.yml
server:
port: 8088
# 配置jdbc
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/20220511demo?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false
username: root
password: 123456789
# 配置mybatis-plus
mybatis-plus:
configuration:
#这个配置会将执行的sql打印出来,在开发或测试的时候可以用
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
global-config:
db-config:
#逻辑删除值
logic-delete-value: 1
#逻辑未删除值
logic-not-delete-value: 0
#配置扫描xml
mapper-locations:
# *.xml的具体路径
- classpath*:/mapper/*.xml
六、启动类(App.java)
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
}
七、运行效果
在浏览器中输入:
http://localhost:8088/demo/xxx/findOne/1
1、
2、
总结
以后很多练手的springBoot项目基础代码可以在这里进行复制了,只需要把xxx改成你对应的类名就行了~