springboot整合postgresql,mybatisplus
·
1.pom依赖
1.1 parent
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.5.RELEASE</version>
<relativePath/>
</parent>
1.2 依赖
<dependencies>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.2.0</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<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>
2.配置文件application.yml
server:
port: 8005
spring:
application:
name: postgres
datasource:
driver-class-name: org.postgresql.Driver
url: jdbc:postgresql://localhost:5432/test
username: postgres
password: root
3.实体类
@Data
@TableName("t_club")
public class ClubPo {
@TableId(type = IdType.AUTO)
private Integer id;
private String name;
private Double money;
private String nickName;
private Date birthday;
private Date createTime;
private Date updateTime;
}
4.controller
@RestController
@RequestMapping("club")
@Api(tags = "俱乐部")
public class ClubController {
@Autowired
private ClubService clubService;
@GetMapping("getOne")
public ClubPo getOne(Integer id){
return clubService.getById(id);
}
@GetMapping("getAll")
public List<ClubPo> getAll(){
return clubService.getAll();
}
@GetMapping("page")
public IPage<ClubPo> page(Integer current,Integer pageSize,String name){
return clubService.page(current,pageSize,name);
}
@PostMapping("save")
public boolean save(ClubPo clubPo){
return clubService.save(clubPo);
}
@PostMapping("batchSave")
public boolean batchSave(@RequestBody List<ClubPo> clubPos){
return clubService.batchSave(clubPos);
}
@PostMapping("update")
public boolean update(ClubPo clubPo){
return clubService.updateById(clubPo);
}
@PostMapping("batchUpdate")
public boolean batchUpdate(@RequestBody List<ClubPo> clubPos){
return clubService.batchUpdate(clubPos);
}
@DeleteMapping("delete")
public Integer delete(Integer id){
return clubService.deleteById(id);
}
}
5.service
public interface ClubService {
ClubPo getById(Integer id);
List<ClubPo> getAll();
IPage<ClubPo> page(Integer current,Integer pageSize,String name);
boolean save(ClubPo clubPo);
boolean batchSave(List<ClubPo> clubPos);
boolean updateById(ClubPo clubPo);
boolean batchUpdate(List<ClubPo> clubPos);
Integer deleteById(Integer id);
}
6.实现类
@Service
public class ClubServiceImpl implements ClubService {
@Autowired
private ClubMapper clubMapper;
@Override
public ClubPo getById(Integer id) {
return clubMapper.selectById(id);
}
@Override
public List<ClubPo> getAll() {
return clubMapper.selectList(null);
}
@Override
public IPage<ClubPo> page(Integer current,Integer pageSize,String name) {
QueryWrapper<ClubPo> queryWrapper = new QueryWrapper<>();
queryWrapper.like(!StringUtils.isEmpty(name),"name",name);
List<ClubPo> clubPos = clubMapper.selectList(queryWrapper);
IPage<ClubPo> iPage = new Page<>();
iPage.setCurrent(current);
iPage.setSize(pageSize);
iPage.setRecords(clubPos);
return iPage;
}
@Override
public boolean save(ClubPo clubPo) {
int insert = clubMapper.insert(clubPo);
if (1 != insert){
return false;
}
return true;
}
@Override
public boolean batchSave(List<ClubPo> clubPos) {
for (ClubPo po:clubPos){
clubMapper.insert(po);
}
return true;
}
@Override
public boolean updateById(ClubPo clubPo) {
int update = clubMapper.updateById(clubPo);
if (1 != update){
return false;
}
return true;
}
@Override
public boolean batchUpdate(List<ClubPo> clubPos) {
for (ClubPo po:clubPos){
clubMapper.updateById(po);
}
return true;
}
@Override
public Integer deleteById(Integer id) {
return clubMapper.deleteById(id);
}
}
7.启动类
运行启动类,运行成功后输入http://localhost:8006/swagger-ui.html,即可进入swagger页面。
@SpringBootApplication
@MapperScan("com.test.mybatis.mapper")
@EnableSwagger2
public class MybatisPostgreApplication {
public static void main(String[] args) {
SpringApplication.run(MybatisPostgreApplication.class,args);
}
}
8.测试类
测试类是用来测试插入数据和查询
@SpringBootTest(classes = MybatisPostgreApplication.class)
@RunWith(SpringRunner.class)
public class DemoTest {
private Logger logger = LoggerFactory.getLogger(DemoTest.class);
@Autowired
private ClubMapper clubMapper;
@Test
public void test(){
String [] nameArr = {"小鹿","刘玥","思瑞","冯珊珊","周晓琳"};
String [] nickArr = {"Tom","Tony","Lily","Marry","Jerry"};
for(int i=0;i<5;i++) {
ClubPo clubPo = new ClubPo();
clubPo.setName(nameArr[i]);
clubPo.setMoney(9999.0*(i+1));
clubPo.setNickName(nickArr[i]);
clubPo.setBirthday(new Date());
clubMapper.insert(clubPo);
}
ClubPo clubPo = clubMapper.selectById(1);
logger.info("按id查询:"+clubPo);
List<ClubPo> clubPos = clubMapper.selectBatchIds(Arrays.asList(1, 2, 3));
logger.info("按id批量查询:"+clubPos);
}
}
9.swagger页面如下

参考博客:https://blog.csdn.net/weixin_41010294/article/details/105710247
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)