温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么在SpringBoot中使用JDBC

发布时间:2021-01-18 14:26:56 来源:亿速云 阅读:146 作者:Leah 栏目:开发技术

这篇文章将为大家详细讲解有关怎么在SpringBoot中使用JDBC,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

引入依赖

这里我们只引入基本的依赖就好,创建一个springboot项目(这里版本是2.1.6),然后添加以下依赖:

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

    <!--mysql驱动-->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <scope>runtimen</scope>
    </dependency>

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

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

    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
    </dependency>
  </dependencies>

编写配置文件

这里我们需要把数据库的基本连接信息配置好

spring:
 datasource:
  driver-class-name: com.mysql.cj.jdbc.Driver
  ## 这里如果不配置时区可能会报错,所以配置时区:serverTimezone=UT
  url: jdbc:mysql://localhost:3306/study_springboot?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
  username: root
  password: root

编写测试类

@RunWith(SpringRunner.class)
@SpringBootTest
public class BaseTest {

  @Autowired
  private DataSource dataSource;


  @Test
  public void load(){
    // 打印出:class com.zaxxer.hikari.HikariDataSource
    System.out.println(dataSource.getClass());
  }
}

实现增删改查

spring boot中有很多的xxxTemplate,也就是给我们默认配置了 很多的模板,方便我们进行开发,比如上面测试中的 JdbcTemplate,spring boot已经给我们封装好方法了,我们只要调用就好,下面是增删改查的案例:

@RestController
public class TestController {


  @Autowired
  private JdbcTemplate jdbcTemplate;

  @GetMapping("/userList")
  public List<Map<String, Object>> getUserList(){
    String sql = "select * from study_springboot.user";
    List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql);
    return maps;
  }
  @GetMapping("/addUser")
  public String addUser(){

    String sql = "insert into study_springboot.user(id, name, password) values('1', 'zhangsan', 'qqqq')";
    jdbcTemplate.update(sql);

    return "add success";
  }

  /**
   * 可以通过占位符实现入参
   * @param id
   * @return
   */
  @GetMapping("/updateUser/{id}")
  public String updateUser(@PathVariable("id") int id){
    String sql = "update study_springboot.user set name =?, password = ? where id = "+id;

    // 封装占位符
    Object[] objects = new Object[2];
    objects[0] = "李四";
    objects[1] = "pppppp";

    jdbcTemplate.update(sql, objects);
    return "update success";
  }

  @GetMapping("/deleteUser/{id}")
  public String deleteUser(@PathVariable("id") int id){
    String sql = "delete from study_springboot.user where id = ?";
    // int 类型也是一个object,所以这样传参也是可以的
    jdbcTemplate.update(sql, id);

    return "delete success";
  }

}

关于怎么在SpringBoot中使用JDBC就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI