SpringBoot 内置数据源 Hikari + 持久化技术 Mybatis-Plus + 内置数据库 H2 代码示例

SpringBoot 内置数据源 Hikari + 持久化技术 Mybatis-Plus + 内置数据库 H2 代码示例

- pom.xml导入相关依赖后,reload项目:
<!--hikari数据源+mybatis-plus持久化技术+H2数据库-->

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<!--JdbcTemplate-->
<!--<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>-->

<!--mybatis-plus-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.3</version>
</dependency>

<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</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配置:
server:
  port: 80
spring:
  h2:
    console:
      enabled: true
  datasource:
    url: jdbc:h2:~/test
    driver-class-name: org.h2.Driver
    hikari:
      username: sa
      password: 123456
mybatis-plus:
  global-config:
    db-config:
      table-prefix: tbl_
      id-type: assign_uuid
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
- 实体类:Book.java
import lombok.*;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Book {
    
    

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

}
- BookDao.java
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.springboot.entity.Book;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface BookDao extends BaseMapper<Book> {
    
    

}
- 测试类
package com.example.springboot;

import com.example.springboot.dao.BookDao;
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 SpringBootH2DatabaseTest {
    
    

//    JdbcTemplate 持久化方案
//    @Autowired
//    private JdbcTemplate jdbcTemplate;
//
//    @Test
//    void contextLoads() {
    
    
//
//        String sql = "select * from tbl_book";
//
//        List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql);
//        System.out.println("queryForList执行结果如下\n"+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("query执行结果如下:\n"+bookList);
//
//    }

    /*
    * MP 持久化方案
    * */

    @Autowired
    private BookDao bookDao;

    @Test
    void testMP(){
    
    

        System.out.println(bookDao.selectById("1"));

    }

}

- 测试类执行结果如下:
Book(id=1, name=SpringBoot从入门到精通, description=SpringBoot描述, price=35.0)

猜你喜欢

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