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

Logo

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

更多推荐