• springboot学习(七) 使用JdbcTemplate


    1、对内嵌数据库的支持

      内嵌数据库通常用于开发和测试环境,不推荐用于生产环境。Spring Boot提供自动配置的嵌入式数据库有H2、HSQL、Derby,你不需要提供任何连接配置就能使用。

      例子:

     1 <dependency>
     2     <groupId>org.springframework.boot</groupId>
     3     <artifactId>spring-boot-starter-data-jpa</artifactId>
     4 </dependency>
     5 
     6 <dependency>
     7     <groupId>org.hsqldb</groupId>
     8     <artifactId>hsqldb</artifactId>
     9     <scope>runtime</scope>
    10 </dependency>

    2、连接生产数据库(Mysql)

      导入数据库依赖:

     1 <dependency>
     2     <groupId>org.springframework.boot</groupId>
     3     <artifactId>spring-boot-starter-jdbc</artifactId>
     4 </dependency>
     5 
     6 <dependency>
     7     <groupId>mysql</groupId>
     8     <artifactId>mysql-connector-java</artifactId>
     9     <version>6.0.6</version>
    10 </dependency>

      然后在application.properties配置文件中添加mysql配置:

    1 spring.datasource.url=jdbc:mysql://localhost:3306/test
    2 spring.datasource.username=dbuser
    3 spring.datasource.password=dbpass
    4 spring.datasource.driver-class-name=com.mysql.jdbc.Driver

     3、使用JdbcTemplate操作数据库

      首先在数据库中创建用户表USER,并添加字段name和age。

      接口类:

     1 public interface UserService {
     2 
     3     /**
     4      * 新增一个用户
     5      * @param name
     6      * @param age
     7      */
     8     void create(String name, Integer age);
     9 
    10     /**
    11      * 根据name删除一个用户高
    12      * @param name
    13      */
    14     void deleteByName(String name);
    15 
    16     /**
    17      * 获取用户总量
    18      */
    19     Integer getAllUsers();
    20 }

      实现类:

     1 @Service
     2 public class UserServiceImpl implements UserService {
     3 
     4     @Autowired
     5     private JdbcTemplate jdbcTemplate;
     6 
     7     @Override
     8     public void create(String name, Integer age) {
     9         jdbcTemplate.update("insert into USER(NAME, AGE) values(?, ?)", name, age);
    10     }
    11 
    12     @Override
    13     public void deleteByName(String name) {
    14         jdbcTemplate.update("delete from USER where NAME = ?", name);
    15     }
    16 
    17     @Override
    18     public Integer getAllUsers() {
    19         return jdbcTemplate.queryForObject("select count(1) from USER", Integer.class);
    20     }
    21 }

      测试类:

     1 @RunWith(SpringRunner.class)
     2 @SpringBootTest(classes = Application.class)
     3 public class JdbcTest {
     4 
     5     @Autowired
     6     private UserService userService;
     7 
     8     @Test
     9     public void test() {
    10         userService.create("a1", 11);
    11 
    12         System.out.println("----");
    13 
    14         System.out.println(userService.getAllUsers());
    15     }
    16 }
  • 相关阅读:
    【Vue】如何写一个表格列显隐控制的组件?
    【Element】eloption value 绑定对象类型(item)
    【读书笔记】《你不知道的 JavaScript(上卷)》
    理解RESTful Api设计
    【群答疑0527】pandas read_csv数字显示科学计数法问题
    面试技巧
    【算法】链表的基本操作和高频算法题
    定制ASP.NET 6.0的应用配置
    ABP vNext系列文章和视频
    定制ASP NET 6.0框架系列文章
  • 原文地址:https://www.cnblogs.com/origalom/p/8324696.html
Copyright © 2020-2023  润新知