依赖

        <dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.4.6</version></dependency><dependency><groupId>org.postgresql</groupId><artifactId>postgresql</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.3.2</version></dependency><dependency><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.7</version></dependency>

配置application.properties

spring.datasource.url=jdbc:postgresql://localhost:5432/postgres
spring.datasource.username=postgres
spring.datasource.password=123456
spring.datasource.driver-class-name=org.postgresql.Driver

controller

package com.example.demo.controller;import com.example.demo.entity.Dome;
import com.example.demo.page.PageRequest;
import com.example.demo.service.DomeService;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.List;/*** @creator wangli66* @create-time 11:06 2019/12/3**/
@Api(value = "Dome工程")
@RestController
@RequestMapping("/dome")
public class DomeController {@Autowiredprivate DomeService domeService;@ApiOperation(value = "testInterceptor")@RequestMapping("/testInterceptor")public String testInterceptor(String param) {return domeService.testInterceptor(param);}@ApiOperation(value = "findDome")@RequestMapping("/findDome")public String findDome(Dome dome) {return domeService.findById(dome).toString();}@ApiOperation(value = "findAll")@RequestMapping("/findAll")public List<Dome> findAll() {return domeService.findAll();}@ApiOperation(value = "insert")@RequestMapping("/insert")public void insert(Dome dome) {domeService.insertDome(dome);}@ApiOperation(value = "findAllPage")@RequestMapping("/findAllPage")public PageInfo<Dome> findAllPage(PageRequest pageRequest) {return domeService.findAllPage(pageRequest);}
}

service

package com.example.demo.service;import com.example.demo.entity.Dome;
import com.example.demo.page.PageRequest;
import com.github.pagehelper.PageInfo;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;import java.util.List;/*** @creator wangli66* @create-time 17:14 2019/12/26**/
@Service
public interface DomeService {String testInterceptor(String param);Dome findById(Dome dome);List<Dome> findAll();void insertDome(Dome dome);PageInfo<Dome> findAllPage(PageRequest pageRequest);
}

impl

package com.example.demo.service;import com.example.demo.dao.DomeDaoMapper;
import com.example.demo.entity.Dome;
import com.example.demo.page.PageRequest;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;import java.util.List;/*** @creator wangli66* @create-time 17:17 2019/12/26**/
@Component
@Transactional
public class DomeServiceImpl implements DomeService {@Autowiredprivate DomeDaoMapper domeDaoMapper;@Overridepublic String testInterceptor(String param) {return "测试拦截器:" + param;}@Overridepublic Dome findById(Dome dome) {return domeDaoMapper.findById(dome);}@Overridepublic List<Dome> findAll() {return domeDaoMapper.findAll();}@Overridepublic void insertDome(Dome dome) {domeDaoMapper.insertDome(dome);}/*** 分页查询,使用pageHelper隔离sql的变化** @param pageRequest* @return*/@Overridepublic PageInfo<Dome> findAllPage(PageRequest pageRequest) {int pageNum = pageRequest.getPageNum() == null ? 1 : pageRequest.getPageNum();int pageSize = pageRequest.getPageSize() == null ? 10 : pageRequest.getPageSize();PageHelper.startPage(pageNum, pageSize);List<Dome> domes = domeDaoMapper.findAll();return new PageInfo<Dome>(domes);}// 测试物理分页,手动计算pagenum,pagesizepublic void findAllPage1() {int pageNum = 2;int pageSize = 2;List<Dome> page1 = domeDaoMapper.findPage1(pageNum, pageSize);System.out.println(page1);}public void insertTest(int count) {// 插入十条数据for (int i = 0; i < count; i++) {Dome dome = new Dome();dome.setName("wangli9" + i);dome.setCompanyId("3" + i);dome.setCompanyName("qqq" + i);dome.setNickName("nike" + i);dome.setPassword("123456" + i);insertDome(dome);}}
}

mapper

package com.example.demo.dao;import com.example.demo.entity.Dome;
import org.apache.ibatis.annotations.Param;import java.util.List;/*** @creator wangli66* @create-time 9:58 2019/12/27**/
public interface DomeDaoMapper {void insertDome(@Param("dome")Dome dome);Dome findById(@Param("dome")Dome dome);List<Dome> findAll();List<Dome> findPage1(@Param("pageNum")int pageNum, @Param("pageSize")int pageSize);
}

mapper.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.example.demo.dao.DomeDaoMapper"><sql id="base_word">id,name,nick_name,company_name,company_id,password,status</sql><select id="findById" parameterType="com.example.demo.entity.Dome" resultType="com.example.demo.entity.Dome" >select <include refid="base_word"/> from t_user where status = 0 and id = #{dome.id}</select><select id="findAll" resultType="com.example.demo.entity.Dome" >select <include refid="base_word"/> from t_user where status = 0</select><insert id="insertDome" parameterType="com.example.demo.entity.Dome">insert into t_user(name,nick_name,company_name,company_id,password,status)values (#{dome.name,jdbcType=VARCHAR},#{dome.nickName,jdbcType=VARCHAR},#{dome.companyName,jdbcType=VARCHAR},#{dome.companyId,jdbcType=VARCHAR},#{dome.password,jdbcType=VARCHAR},0)</insert><select id="findPage1" resultType="com.example.demo.entity.Dome">select * from t_user limit #{pageNum} offset #{pageSize}</select>
</mapper>

entity

package com.example.demo.entity;import lombok.Data;/*** @creator wangli66* @create-time 9:59 2019/12/27**/
@Data
public class Dome {private Integer id;private String name;private String nickName;private String companyName;private String companyId;private String password;private Integer status;
}

包结构

springboot整合postgresql相关推荐

  1. 补习系列(19)-springboot JPA + PostGreSQL

    目录 SpringBoot 整合 PostGreSQL 一.PostGreSQL简介 二.关于 SpringDataJPA 三.整合 PostGreSQL A. 依赖包 B. 配置文件 C. 模型定义 ...

  2. 使用liquibase进行数据库迁移(Postgresql/Mysql)——springboot整合Liquibase以及使用maven命令执行Liquibase同步更新数据

    文章目录 一.什么是Liquibase? 1.liquibase的优点 2.liquibase的基本概念 3.官网地址 二.SpringBoot整合Liquibase 1.简介 2.项目结构 3.测试 ...

  3. SpringBoot整合Guacamole

    前言 本文主要介绍的是SpringBoot如何整合Guacamole在浏览器是远程桌面的访问. Guacamole 介绍 Apache Guacamole 是一个无客户端远程桌面网关.它支持标准协议, ...

  4. SpringBoot第九篇: springboot整合Redis

    这篇文章主要介绍springboot整合redis,至于没有接触过redis的同学可以看下这篇文章:5分钟带你入门Redis. 引入依赖: 在pom文件中添加redis依赖: <dependen ...

  5. es springboot 不设置id_原创 | 一篇解决Springboot 整合 Elasticsearch

    ElasticSearch 结合业务的场景,在目前的商品体系需要构建搜索服务,主要是为了提供用户更丰富的检索场景以及高速,实时及性能稳定的搜索服务. ElasticSearch是一个基于Lucene的 ...

  6. springboot整合shiro使用shiro-spring-boot-web-starter

    此文章仅仅说明在springboot整合shiro时的一些坑,并不是教程 增加依赖 <!-- 集成shiro依赖 --> <dependency><groupId> ...

  7. db2 springboot 整合_springboot的yml配置文件通过db2的方式整合mysql的教程

    springboot整合MySQL很简单,多数据源就master,slave就行了,但是在整合DB2就需要另起一行,以下是同一个yml文件 先配置MySQL,代码如下 spring: datasour ...

  8. 九、springboot整合rabbitMQ

    springboot整合rabbitMQ 简介 rabbitMQ是部署最广泛的开源消息代理. rabbitMQ轻量级,易于在内部和云中部署. 它支持多种消息传递协议. RabbitMQ可以部署在分布式 ...

  9. 八、springboot整合Spring Security

    springboot整合Spring Security 简介 Spring Security是一个功能强大且可高度自定义的身份验证和访问控制框架.它是保护基于Spring的应用程序的事实标准. Spr ...

  10. 六、springboot整合swagger

    六.springboot整合swagger 简介 swagger 提供最强大,最易用的工具,以充分利用OpenAPI规范. 官网 : https://swagger.io/ 准备工作 pom.xml ...

最新文章

  1. 编程之美2.7 最大公约数,最小公倍数
  2. SharePoint 2010、2013多个域之间互信(Domain Trust)的设计与实施
  3. Eclipse导入android项目出现很多错误
  4. 注解_JDK内置注解
  5. pycharm设置开发模板
  6. 全网最全的 Java各类技术栈 架构图汇总(建议收藏)
  7. DisplayObjectContainer 属性和方法
  8. winform使用fastreport制作报表(二)使用
  9. PHP数据处理之下载远程图片到本地
  10. ThinkPHP内核全行业小程序运营管理系统源码 自由DIY布局 一键生成小程序
  11. 无法ping通别的计算机名,解决主机无法ping通问题
  12. 剖析 Chrome 的小恐龙游戏
  13. idb 怎么回复mysql_MySQL删除idb文件引发的思考
  14. 灭世之Apache Log4j2 远程代码执行漏洞
  15. zend抽象语法树AST流程解析
  16. Andwobble破解
  17. MT6762/MT6765处理器参数比较/芯片资料介绍
  18. NLP资源汇总和工具汇总
  19. 频率与周期的对应关系
  20. HTML+CSS【超浪漫的表白网页代码】不会编程也能制作送给女朋友的表白网站

热门文章

  1. android 风吹的动画,最炫Material Design风过渡动画
  2. 原创【歌词类】绘流年
  3. python中labels是什么意思_使用labels属性有什么优势吗?
  4. 2022-2027年中国煤制尿素市场竞争态势及行业投资前景预测报告
  5. 好友返利网站开发 一
  6. Allegro删除Out of data shape铜皮框
  7. Sentinel系统自适应限流【原理源码】
  8. 混沌世界里的临界点(博弈论的诡计)
  9. win10启动项_win10系统开机启动项的设置教程
  10. linux pv命令,Linux系统下pv命令的一些使用技巧小结