idea下springboot框架使用hibernate和jpa连接池配置为hikari的方法


创建工程的时候,选这么几个项

 spring data jpa里边就默认使用了hikari,可以点进去打开看一下

 

 可以看到这是基于hibernate的实现

 

继续往下翻

 有一项是,再点进去

 

看到了吧

 

 

 好了,默认就是调用hikari的

只需要在application.properties中进行一些配置就行了

spring.jpa.hibernate.ddl-auto=update
spring.datasource.hikari.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://ip:3306/vser_debug?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&allowMultiQueries=true&serverTimezone=GMT%2B8
spring.datasource.username=name
spring.datasource.password=pwd
spring.jpa.open-in-view=false
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.show-sql=true

spring.datasource.type=com.zaxxer.hikari.HikariDataSource
## 最小连接池数量
spring.datasource.hikari.minimum-idle=5
## 池中最大连接数
spring.datasource.hikari.maximum-pool-size=15
## 此属性控制从池返回的连接的默认自动提交行为,默认值:true
spring.datasource.hikari.auto-commit=true
## 空闲连接存活最大时间,默认600000(10分钟)
spring.datasource.hikari.idle-timeout=600000

spring.datasource.hikari.pool-name=DatebookHikariCP
## 此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟
spring.datasource.hikari.max-lifetime=1800000
## 数据库连接超时时间,默认30秒,即30000
spring.datasource.hikari.connection-timeout=30000
spring.datasource.hikari.connection-test-query=SELECT 1

 

添加一个model 一个controller,一个service和一个dao,就可以实现增删改查了

package com.example.hikaridemo.model;

import org.hibernate.annotations.GenericGenerator;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

@Entity
public class Article {
    private int id;
    private String title;
    private String body;
    private String writer;
    @Id
    @GeneratedValue(generator = "_native")
    @GenericGenerator(name = "_native", strategy = "native")
    public int getId() {
        return id;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getBody() {
        return body;
    }

    public void setBody(String body) {
        this.body = body;
    }

    public String getWriter() {
        return writer;
    }

    public void setWriter(String writer) {
        this.writer = writer;
    }

    public void setId(int id) {
        this.id = id;
    }
}
model
package com.example.hikaridemo.controller;



import com.example.hikaridemo.service.OrmtestService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class OrmTestCtr {
    @Autowired
    private OrmtestService ormtestService;
    @RequestMapping("/insert")
    public String insertTest() {
        ormtestService.insertTest();
        return "测似乎成功";
    }
}
controller
package com.example.hikaridemo.service;


import com.example.hikaridemo.dao.OrmtestDao;
import com.example.hikaridemo.model.Article;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class OrmtestService {
    @Autowired
    public OrmtestDao ormtestDao;
    public void insertTest() {
      Article article=new  Article();
        article.setTitle("标题");
        article.setBody("这是正文");
        article.setWriter("user");
        ormtestDao.save (article);
    }
}
service
package com.example.hikaridemo.dao;



import com.example.hikaridemo.model.Article;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface OrmtestDao extends JpaRepository<Article, Long> {

}
dao

 

启动项目,从日志里边可以看到相关信息

 

 

 

 

运行成功,我们请求一下

http://localhost:8080/insert

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM