• Springboot 整合JDBC


    配置数据库

    spring:
      datasource:
        username: admin
        password: 8098
        # 如果时区报错了,加一个时区的配置:serverTimezone=UTC
        url: jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf8&useSSL=false
        driver-class-name: com.mysql.jdbc.Driver
        type: com.alibaba.druid.pool.DruidDataSource
    

    测试类,传统方法与数据库建立连接

    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
    
    import javax.sql.DataSource;
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.Statement;
    
    @RunWith(SpringJUnit4ClassRunner.class)
    @SpringBootTest
    public class Spring04DataApplicationTest {
    
        //自动按照yaml导入数据库资源
        @Autowired
        DataSource dataSource;
    
        @Test
        public void contextLoads() throws Exception {
            //查看一下默认的数据源
            System.out.println(dataSource.getClass());
    
            //获得数据库连接
            Connection connection = dataSource.getConnection();
    
            //xxxxTemplateC Springboot已经配置好模板bean,拿来即用CRUD
    
            //可以进行各种操作了
            Statement statement = connection.createStatement();
            ResultSet resultSet = statement.executeQuery("SELECT * FROM mybatis.student");
            while (resultSet.next()){ //是个链表
                System.out.println("id="+resultSet.getObject("id"));
                System.out.println("tid="+resultSet.getObject("tid"));
                System.out.println("name="+resultSet.getObject("name"));
                System.out.println("=============================");
            }
    
            //关闭
            resultSet.close();
            statement.close();
            connection.close();
        }
    }
    

    JDBCController

    package com.peng.controller;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.jdbc.core.JdbcTemplate;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.PathVariable;
    import org.springframework.web.bind.annotation.RestController;
    
    import java.util.List;
    import java.util.Map;
    
    @RestController
    public class JDBCController {
    
        @Autowired
        JdbcTemplate jdbcTemplate; //JdbcTemplate类里,啥都有!
    
        @GetMapping("/userlist")
        //查询数据库的所有信息
        public List<Map<String,Object>> userList(){
            String sql = "select * from user";
            List<Map<String, Object>> list_maps = jdbcTemplate.queryForList(sql);
            return list_maps;
        }
    
        //增
        @GetMapping("adduser")
        public String addUser(){
            String sql = "insert into mybatis.user(id,name,pwd) values(4,'peng',8098)";
            jdbcTemplate.update(sql);
            return "update-ok";
        }
    
        //改
        @GetMapping("/updateuser/{id}")
        public String updateUser(@PathVariable("id") int id){
            String sql = "UPDATE mybatis.user set name=?,pwd=? WHERE id="+id;
    
            //封装
            Object[] objects = new Object[2];
            objects[0] = "peng2";
            objects[1] = "123456";
            jdbcTemplate.update(sql,objects);
            return "update-ok";
        }
    
        //删
        @GetMapping("/deleteuser/{id}")
        public String deleteUser(@PathVariable("id") int id){
            String sql = "DELETE FROM mybatis.user WHERE id=?";
            jdbcTemplate.update(sql,id);
            return "delete-ok";
        }
    }
    
  • 相关阅读:
    洛谷1076 寻宝
    洛谷1349 广义斐波那契数列 【矩阵乘法】
    BZOJ1008 [HNOI2008]越狱
    vijosP1629 八
    vijosP1687 细菌总数
    vijosP1388 二叉树数
    怎么在windows上安装 ansible How to install ansible to my python at Windows
    阿里邮箱绑定Foxmail失败的解决办法
    Django html页面 'ascii' codec can't encode characters in position 8-10: ordinal not
    python2.X现在不能安装Django了:Collecting django Using cached Django-2.0.tar.gz
  • 原文地址:https://www.cnblogs.com/peng8098/p/java_24.html
Copyright © 2020-2023  润新知