使用IDEA的SpringBoot整合JDBC

今晚月亮真好看發表於2020-09-26

這裡不做過多介紹,直接上操作

第一步、啟動IDEA,通過Spring initializr建立該專案,點解next
在這裡插入圖片描述
第二步、配置自己專案的相關資訊即可,點選next下一步
在這裡插入圖片描述
第三步、勾選相應的啟動依賴
在這裡我只勾選了最基本的幾個依賴進行展示,Sring Web和Web開發的一些依賴有關,MySQL Driver和連線資料庫有關,還有就是我們這裡要使用的Spring Data JDBC,點選next
在這裡插入圖片描述
第四步、填寫該專案名稱,點選Finish,該專案建立成功
在這裡插入圖片描述
第五步、我們去application.properties配置自己的資料庫相關資訊,我這裡用的是yml格式,當然properties格式也是可以的,到這一步我們的基本準備就已經完成了

spring:
  datasource:
  //解決資料庫亂碼問題,由於SpringBoot預設用的mysql版本是8以上的版本
  //所以會產生時區問題,在這裡配置個serverTimezone=UTC即可
    url: jdbc:mysql://localhost:3306/資料庫名稱?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8&useSSL=false
    username: 使用者名稱
    password: 密碼
    //mysql8以上的版本為com.mysql.cj.jdbc.Driver
    driver-class-name: com.mysql.jdbc.Driver//mysql8以上的版本

第六步、編寫test測試用例看看是否連線成功
在這裡插入圖片描述
輸出結果:

可以看到我們連結資料庫成功了。在這裡插入圖片描述
接下來我們就可以呼叫Spring Data 裡面的JDBCTemplate對資料庫進行CRUD操作了。直接上程式碼

@RestController
public class JDBCController {
    @Autowired
    JdbcTemplate jdbcTemplate;

    //查詢所有使用者
    //如果我們沒有定義pojo類去接收資料,我們怎麼拿到資料庫的資訊並展示出來?--->map
    @GetMapping("/userList")
    public List<Map<String,Object>> list(){
        String sql = "select * from account";
        List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql);
        return maps;
    }

    //新增使用者
    @GetMapping("/addUser")
    public String addUser(){
        String sql = "insert into account(name,money) values ('測試','1000')";
        jdbcTemplate.update(sql);
        return "update-ok";
    }

    //更新使用者
    @GetMapping("/updateUser/{id}")
    public String updateUser(@PathVariable("id")Integer id){
        String sql = "update account set name=?,money=? where id="+id;
        //封裝到object裡面
       Object[] objects = new Object[2];
       objects[0] = "小明";
       objects[1] = "9999";
        jdbcTemplate.update(sql,objects);
        return "update-ok";
    }

    //刪除使用者
    @GetMapping("/deleteUser/{id}")
    public String deleteUser(@PathVariable("id")Integer id){
        String sql = "delete from account where id=?";
        jdbcTemplate.update(sql,id);
        return "delete-ok";
    }

}

相關文章