• Java Spring Boot + druid + mybatis + PostgreSQL一分钟搭建完成


    打开IDEA 初始化Spring Boot 项目,记得钩上 lombok

    在pom.xml 下添加

            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid-spring-boot-starter</artifactId>
                <version>1.1.21</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>2.1.1</version>
            </dependency>
    

    在application.properties 下添加,注意数据库名

    # 日志的打印级别
    logging.level.org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping=trace
    
    
    
    # 大象数据库
    spring.datasource.druid.url=jdbc:postgresql://localhost:5432/你的数据库名
    spring.datasource.druid.username=你的用户名
    spring.datasource.druid.password=你的密码
    spring.datasource.druid.driver-class-name=org.postgresql.Driver
    
    
    
    # 配置Druid的连接池
    spring.datasource.druid.initialSize=10
    spring.datasource.druid.maxActive=20
    spring.datasource.druid.maxWait=60000
    spring.datasource.druid.minIdle=1
    spring.datasource.druid.timeBetweenEvictionRunsMillis=60000
    spring.datasource.druid.minEvictableIdleTimeMillis=300000
    spring.datasource.druid.testWhileIdle=true
    spring.datasource.druid.testOnBorrow=true
    spring.datasource.druid.testOnReturn=false
    spring.datasource.druid.poolPreparedStatements=true
    spring.datasource.druid.maxOpenPreparedStatements=20
    spring.datasource.druid.validationQuery=SELECT 1
    spring.datasource.druid.validation-query-timeout=500
    spring.datasource.druid.filters=stat
    

     创建大象数据库表

     CREATE TABLE HEXINFO(
        -- SERIAL 自增主键
       ID             SERIAL PRIMARY KEY  NOT NULL,
        --  摘要
       HEX            TEXT                        NOT NULL,
       SPAWNTIME      TIMESTAMP                   NOT NULL,
       INFO           TEXT                        NOT NULL,
       NODEID         TEXT                        NOT NULL,
       CHUNKID        INT                         NOT NULL,
    );
    
    -- 查询最大值语句,等下用的到
     select * from hexinfo where id in(select max(id) from hexinfo);
    -- 插入一条信息
    INSERT INTO HEXINFO (HEX,SPAWNTIME,INFO,NODEID) VALUES('000000000001',current_timestamp,'oxoxoxox','123456');
    

    在项目路径下创建 3 个 文件

    第一个 Hexinfo.java

    package cn.edu.zzuli.fabriciec;
    
    
    import lombok.Data;
    import lombok.NoArgsConstructor;
    
    import java.util.Date;
    
    @Data
    @NoArgsConstructor
    public class Hexinfo {
        private Integer id;
        private String hex;
        private Date spawntime;
        private String info;
        private String nodeid;
        private Integer chunkid;
    }
    

     第二个 HexinfoMapper.java

    package cn.edu.zzuli.fabriciec;
    
    import org.apache.ibatis.annotations.Mapper;
    import org.apache.ibatis.annotations.Select;
    
    import java.util.List;
    
    @Mapper
    public interface HexinfoMapper {
        @Select("select * from hexinfo where id in(select max(id) from hexinfo);")  // 这里是使用Mapper
        List<Hexinfo> getMax();
    }
    

     第三个 HexinfoController.java

    package cn.edu.zzuli.fabriciec;
    
    
    import lombok.AllArgsConstructor;
    import lombok.Data;
    import org.springframework.web.bind.annotation.CrossOrigin;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import java.util.List;
    
    @CrossOrigin // 跨域请求
    @Data
    @AllArgsConstructor
    @RestController
    public class HexinfoController {
        private HexinfoMapper hexinfoMapper;
        @GetMapping("/max")
        public List<Hexinfo> getByMax() {
            //return hexinfoService.getByMax();
            return hexinfoMapper.getMax();
        }
    }
    

     启动项目

    访问端口 localhost:8080/max 

     返回和这段类似就是成功

    	
    0	
    id	22
    hex	"fec6d532f885902bf5136588f0ebd52e0b8f13fc365ec65d763c150000000000"
    spawntime	"2020-04-28T04:02:12.420+0000"
    info	"I-Love-Java"
    nodeid	"java-point"
    chunkid	666
    

    可能不理解为什么这么写 安利一个教程,我是在这里学的不过自己用的数据库还是比较喜欢大象。为啥用大象?emmm....

    http://blog.didispace.com/spring-boot-learning-2x/

  • 相关阅读:
    mysql 外键约束的情况下删除表数据
    vuex知识点
    从小程序跳转到公众号webview用法
    微信小程序使用animate.css库
    微信小程序中图片链接缓存问题如何解决
    uniapp中使用websocket方法
    在控制台使用npm init vue@latest命令报错npm ERR! Error: EPERM: operation not permitted, mkdir'xxxx'
    重温git操作
    vue3+vite+typescript
    Delphi xe 错误:...segmentation fault(11)
  • 原文地址:https://www.cnblogs.com/Addoil/p/12806079.html
Copyright © 2020-2023  润新知