java高级开发

SpringBoot2快速入门04--jdbc

2018-09-11  本文已影响1人  老鼠AI大米_Java全栈

本节学习在boot工程中使用jdbc,直接使用jdbc理论上性能比其它的都要好。
首先导入相关包,如下:

compile('org.springframework.boot:spring-boot-starter-jdbc')
compile('mysql:mysql-connector-java')

配置数据库连接,如下:

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/xfdb?useUnicode=true&characterEncoding=UTF-8
    password: root
    username: root

创建controller,并注入JdbcTemplate,加上注解@RestController@RequestMapping

@RestController
@RequestMapping("/user")
public class JdbcController {

    @Autowired
    private JdbcTemplate jdbcTemplate;

查询所有接口

查询所有t_user表的数据,返回list列表数据。

@GetMapping
    public List<User> queryUsers() {
        String sql = "select * from t_user";
        return jdbcTemplate.query(sql, new Object[]{}, new BeanPropertyRowMapper<>(User.class));
    }

BeanPropertyRowMapper是将查出的数据封装成User对象。

根据id查询

根据id查询指定的user数据

@GetMapping("/{id}")
    public User getUser(@PathVariable Long id) {
        String sql = "select * from t_user where id = ?";
        return jdbcTemplate.queryForObject(sql, new Object[]{id}, new BeanPropertyRowMapper<>(User.class));
    }

@PathVariable这个注解是指从url中取对应的id
上面的get操作,可以直接在浏览器中测试,如:localhost:8081/chapter04/user/2,但下面的post, put, del就需要相应的工具,如postman

添加数据

往数据库添加一条数据

@PostMapping
    public int addUser(@RequestBody User user) {
        // 添加用户
        String sql = "insert into t_user(name, age) values(?, ?)";
        return jdbcTemplate.update(sql, user.getName(), user.getAge());
    }

注意,这里使用的是post,@RequestBody注解表示只能接受json对象,它将json对象转换成User对象。

修改数据

对已存在的数据修改

@PutMapping("/{id}")
    public int editUser(@PathVariable Long id, @RequestBody User user) {
        String sql = "UPDATE t_user SET name = ? ,age = ? WHERE id = ?";
        return jdbcTemplate.update(sql, user.getName(), user.getAge(), id);
    }

根据主键ID修改用户信息,这里使用restful方式,所以用put,其实用post也是可以的。
这是的传参要注意,它使用了2种方式。

删除数据

根据id删除数据

@DeleteMapping("/{id}")
    public int delUser(@PathVariable Long id) {
        String sql = "DELETE FROM t_user WHERE id = ?";
        return jdbcTemplate.update(sql, id);
    }

这是一些基础的操作,掌握也很简单。
学习交流,请加群:64691032

上一篇下一篇

猜你喜欢

热点阅读