美文网首页java高级开发
SpringBoot2快速入门04--jdbc

SpringBoot2快速入门04--jdbc

作者: 老鼠AI大米_Java全栈 | 来源:发表于2018-09-11 16:26 被阅读1次

    本节学习在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

    相关文章

      网友评论

        本文标题:SpringBoot2快速入门04--jdbc

        本文链接:https://www.haomeiwen.com/subject/vquugftx.html