SpringBoot 内置数据源 Hikari + JdbcTemplate 持久化技术 + MySql 数据库 代码示例

SpringBoot 内置数据源 Hikari + JdbcTemplate 持久化技术 + MySql 数据库 代码示例

- pom中添加相关依赖:
<!--JdbcTemplate-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

<!--mysql-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>

<!--lombok-->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <optional>true</optional>
</dependency>

<!--test-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>
- 配置yml文件:
spring:
  datasource:
    # 注:MySQL8.0.28版本
    url: jdbc:mysql://localhost:3306/springboot?serverTimezone=UTC
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: user
    password: 123456
    hikari:
      maximum-pool-size: 50
- 实体类:Book.java
import lombok.*;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Book {
    
    

    private String id;
    private String name;
    private String description;
    private Float price;

}	
- 测试类:
import com.example.springboot.entity.Book;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;

@SpringBootTest
public class SpringBootJdbcTemplateTest {
    
    

    @Autowired
    private JdbcTemplate jdbcTemplate;

    @Test
    void contextLoads() {
    
    

        String sql = "select * from tbl_book";

//        List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql);
//        System.out.println(maps);

        RowMapper<Book> rm = new RowMapper<Book>() {
    
    
            @Override
            public Book mapRow(ResultSet rs, int rowNum) throws SQLException {
    
    
                Book temp = new Book();
                temp.setId(rs.getString("id"));
                temp.setName(rs.getString("name"));
                temp.setDescription(rs.getString("description"));
                temp.setPrice(rs.getFloat("price"));
                return temp;
            }
        };

        List<Book> bookList = jdbcTemplate.query(sql, rm);
        System.out.println(bookList);
    }
}
- 输出结果如下:
queryForList执行结果如下
[{
    
    id=1, name=springboot从入门到精通, description=这是一本关于springboot框架的书籍,价格是50, price=50.0}, {
    
    id=2, name=springcloud从入门到精通, description=这是一本关于springcloud框架的书籍,价格是50, price=50.0}, {
    
    id=3, name=spring从入门到精通, description=这是一本关于spring框架的书籍,价格是50, price=50.0}, {
    
    id=4, name=Java从入门到精通, description=这是一本关于Java框架的书籍,价格是50, price=50.0}, {
    
    id=5, name=Mysql从入门到精通, description=这是一本关于Mysql框架的书籍,价格是50, price=50.0}, {
    
    id=6, name=redis从入门到精通, description=这是一本关于redis的书籍,售价为35, price=35.0}, {
    
    id=7, name=mongdb从入门到精通, description=这是一本关于mongdb的书籍,售价为35, price=35.0}, {
    
    id=ebf7259505c246d0c98c61230d7768b2, name=python从入门到精通, description=这是一本python有关的书籍,售价是40, price=40.23}]
query执行结果如下:
[Book(id=1, name=springboot从入门到精通, description=这是一本关于springboot框架的书籍,价格是50, price=50.0), Book(id=2, name=springcloud从入门到精通, description=这是一本关于springcloud框架的书籍,价格是50, price=50.0), Book(id=3, name=spring从入门到精通, description=这是一本关于spring框架的书籍,价格是50, price=50.0), Book(id=4, name=Java从入门到精通, description=这是一本关于Java框架的书籍,价格是50, price=50.0), Book(id=5, name=Mysql从入门到精通, description=这是一本关于Mysql框架的书籍,价格是50, price=50.0), Book(id=6, name=redis从入门到精通, description=这是一本关于redis的书籍,售价为35, price=35.0), Book(id=7, name=mongdb从入门到精通, description=这是一本关于mongdb的书籍,售价为35, price=35.0), Book(id=ebf7259505c246d0c98c61230d7768b2, name=python从入门到精通, description=这是一本python有关的书籍,售价是40, price=40.23)]

猜你喜欢

转载自blog.csdn.net/qq_38132105/article/details/125948508