php响应式个人博客网站设计,网站建设宣传ppt模板,安阳区号后三位,凡科网站建设多少钱主要描述如何优雅的整合postgresql。本文略去如何安装pgsql的过程#xff0c;详情可参考其他文章。 文章目录 postgresql简介整合postgresql整合mybatis整合mybatis-plus postgresql简介
与mysql一样也是开源的关系型数据库#xff0c;同时还支持NoSql的文档型存储。在某些方… 主要描述如何优雅的整合postgresql。本文略去如何安装pgsql的过程详情可参考其他文章。 文章目录 postgresql简介整合postgresql整合mybatis整合mybatis-plus postgresql简介
与mysql一样也是开源的关系型数据库同时还支持NoSql的文档型存储。在某些方面标榜比mysql表现更加出众现在就让我们来了解下如何使用postgresql。
整合postgresql
引入依赖
dependencygroupIdorg.postgresql/groupIdartifactIdpostgresql/artifactId
/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-jdbc/artifactIdversion3.0.4/version
/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion1.18.26/version
/dependency配置文件
spring:datasource:driver-class-name: org.postgresql.Driverusername: postgrespassword: rooturl: jdbc:postgresql://127.0.0.1:5432/postgres测试用例 此处我们预先新建一个test表查询该表的记录数当前表中有一条记录。
Slf4j
SpringBootTest
class MypgApplicationTests {AutowiredJdbcTemplate jdbcTemplate;Testvoid contextLoads() {Long count jdbcTemplate.queryForObject(select count(*) from test, Long.class);log.info(记录总数{},count);}}输出预期结果
记录总数1整合mybatis
以上我们直接使用jdbc进行数据操作接下来我们使用mybatis进行改造。
引入maven依赖
dependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion2.3.0/version
/dependency调整配置文件
mybatis:mapper-locations: classpath:mapper/*.xmlconfiguration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl 新建domain/service/mapper/mapper.xml
Data
public class Test {private Long id;
}
public interface TestMapper {Long queryForMybatis(Test testDO);}?xml version1.0 encodingUTF-8?
!DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd
mapper namespacecom.vainycos.dao.TestMapperselect idqueryForMybatis parameterTypecom.vainycos.domain.Test resultTypejava.lang.Longselect count(*) from testwhereif testid ! null and id ! and id #{id}/if/where/select
/mapperService
public class TestService {Resourceprivate TestMapper testMapper;public Long queryForMybatis(Test testDO){return testMapper.queryForMybatis(testDO);}}mapper文件路径指向
MapperScan(com.vainycos.dao)
SpringBootApplication
public class MypgApplication {public static void main(String[] args) {SpringApplication.run(MypgApplication.class, args);}}整合mybatis-plus
引入mybatis-plus的maven依赖
dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.4.3/version
/dependency改造mapper接口
public interface TestMapper extends BaseMapperTest {Long queryForMybatis(Test testDO);}service使用mybatis-plus写法实现
public Long queryForMybatisPlus(Test testDO){Integer resultCount testMapper.selectCount(new LambdaQueryWrapperTest().eq(testDO.getId() ! null, Test::getId, testDO.getId()));return resultCount.longValue();
}controller测试
GetMapping(/queryForMybatisPlus)
public Long queryForMybatisPlus(Test testDO){return testService.queryForMybatisPlus(testDO);
}参考资料
SpringBoot 整合 pgSQLSpringBoot集成MyBatis-yml自动化配置原理详解Spring Boot 整合 MyBatis-Plus