码迷,mamicode.com
首页 > 数据库 > 详细

Spring Boot (7) JdbcTemplate

时间:2018-05-29 12:31:04      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:pass   pre   执行   temp   XML   from   SQ   查询   创建数据库   

使用jdbcTemplate操作数据库

 

在pom.xml中添加jdbc模块和mysql数据库驱动

        <!--jdbc -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <!--mysql数据库驱动 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

 

application.properties

  spring boot的jdbc模块会加载以下参数,并且根据url可以识别并自动加载mysql驱动,自动创建数据库实例,自动实现连接池。

spring.datasource.url=jdbc:mysql://localhost:3306/david2018_db?characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=1234

 

HelloDao.java

  jdbc模块还会自动创建一个JdbcTemplate实例,可以在程序中直接注入使用,下面的dao实现了两个方法:

  update方法:执行增删改操作

  queryForList方法:执行查询操作

  params:任意数量的数组,配置sql中的?占位符

package com.david;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public class HelloDao {
    @Autowired
    JdbcTemplate jdbcTemplate;

    public int update(){
        String sql = "update user set username = ? where userid = ?";
        Object[] params = new Object[]{"boot",1};
        return jdbcTemplate.update(sql,params);
    }

    public List queryForList(){
        String sql = "select * from user";
        return jdbcTemplate.queryForList(sql);
    }
}

 

helloService.java

  spring boot同样自动配置好了事务,在service上 直接加一个注解即可。

package com.david;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

@Transactional //开启事务
@Service
public class HelloService {

    @Autowired
    private HelloDao dao;

    public int update(){
        return dao.update();
    }

    public List queryForList(){
        return dao.queryForList();
    }
}

 

helloController.java

package com.david;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
public class HelloController {
    @Autowired
    private HelloService service;

    @GetMapping("/update")
    public String update(){
        service.update();
        return "update";
    }

    @GetMapping("/list")
    public String list(){
        service.queryForList();
        return "list";
    }
}

 

输入 localhost:/update list 进行测试

 

Spring Boot (7) JdbcTemplate

标签:pass   pre   执行   temp   XML   from   SQ   查询   创建数据库   

原文地址:https://www.cnblogs.com/baidawei/p/9104377.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!