JDBC学习

配置文件

application.yml

yaml 复制代码
spring:  
  datasource:  
    username: root  
    password: 123456  
    url: jdbc:mysql://localhost:3306/rbac?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC  
    driver-class-name: com.mysql.jdbc.Driver

rbac为我自己本地的数据库,可以进行替换,后面的characterEncoding是更改编码方式为utf-8,serverTimezone为设置时区

其中数据库可以提前导入到IDEA的数据库配置连接中。

测试连接

在test里面进行测试链接是否成功

java 复制代码
package com.learn.jdbc_demo;  
  
import org.junit.jupiter.api.Test;  
import org.springframework.beans.factory.annotation.Autowired;  
import org.springframework.boot.test.context.SpringBootTest;  
  
import javax.sql.DataSource;  
import java.sql.Connection;  
import java.sql.SQLException;  
  
@SpringBootTest  
class JdbcDemoApplicationTests {  
  
  
    @Autowired  
    DataSource dataSource;  
  
    @Test  
    void contextLoads() {  
       //查看默认的数据源:class com.zaxxer.hikari.HikariDataSource  
       System.out.println(dataSource.getClass());  
  
       //获得数据库连接  
        try {  
            Connection connection = dataSource.getConnection();  
          //链接配置:HikariProxyConnection@2084912180 wrapping com.mysql.cj.jdbc.ConnectionImpl@17ff8810  
          System.out.println(connection);  
          connection.close();  
        } catch (SQLException e) {  
            throw new RuntimeException(e);  
        }  
  
    }  
  
}

测试返回数据

在web中测试是否可以返回到前端

java 复制代码
package com.learn.jdbc_demo.controller;  
  
  
import org.springframework.beans.factory.annotation.Autowired;  
import org.springframework.jdbc.core.JdbcTemplate;  
import org.springframework.stereotype.Controller;  
import org.springframework.web.bind.annotation.GetMapping;  
import org.springframework.web.bind.annotation.RestController;  
  
import java.util.List;  
import java.util.Map;  
  
  
  
@RestController  
public class JDBCController {  
  
    @Autowired  
    JdbcTemplate jdbcTemplate;  
  
    //查询数据库的所有信息  
    //没有实体类,数据库的东西,怎么获取? Map  
    @GetMapping("/userList")  
    public List<Map<String,Object>> userList(){  
        String sql = "select * from my_dept";  
        List<Map<String,Object>> maps = jdbcTemplate.queryForList(sql);  
        return maps;  
    }  
}

简单实现增删改查

java 复制代码
package com.learn.jdbc_demo.controller;  
  
  
import org.springframework.beans.factory.annotation.Autowired;  
import org.springframework.jdbc.core.JdbcTemplate;  
import org.springframework.stereotype.Controller;  
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;  
  
    //查询数据库的所有信息  
    //没有实体类,数据库的东西,怎么获取? Map  
    @GetMapping("/userList")  
    public List<Map<String,Object>> userList(){  
        String sql = "select * from my_user_job";  
        List<Map<String,Object>> maps = jdbcTemplate.queryForList(sql);  
        return maps;  
    }  
  
    @GetMapping("/addUser")  
    public String addUser(){  
        String sql = "insert into rbac.my_user_job(user_id,job_id) values(1,11)";  
        jdbcTemplate.update(sql);  
        return "updata-ok";  
    }  
  
    @GetMapping("/updateUser/{id}")  
    public String updateUser(@PathVariable("id") int id){  
        String sql = "update rbac.my_user_job set job_id=? where user_id="+id;  
        //封装  
        Object[] objects =new Object[1];  
        objects[0] = "1";  
        jdbcTemplate.update(sql,objects);  
        return "updata-ok";  
    }  
  
    @GetMapping("/deleteUser/{id}")  
    public String deleteUser(@PathVariable("id")int id){  
        String sql = "delete from rbac.my_user_job where user_id=?";  
        jdbcTemplate.update(sql,id);  
        return "delete-ok";  
    }  
  
}
相关推荐
长安有故里y14 分钟前
tomcat设置预防host头攻击
java·tomcat·firefox
生产队队长14 分钟前
Tomcat问题:启动脚本startup.bat中文乱码问题解决
java·ajax·tomcat
张紫娃27 分钟前
idea 常用快捷键
java·ide·intellij-idea
兮动人30 分钟前
Java应用全链路故障排查实战指南:从系统资源到JVM深度诊断
java·开发语言·jvm
bianguanyue31 分钟前
SQLite密码修改故障排查:RSA加密随机性导致的数据库匹配问题
数据库·sqlite·c#
风流 少年38 分钟前
Cursor创建Spring Boot项目
java·spring boot·后端
亚马逊云开发者41 分钟前
将 Go 应用从 x86 平台迁移至 Amazon Graviton:场景剖析与最佳实践
linux·数据库·golang
wáng bēn1 小时前
【java17】使用 Word 模板导出带替换符、动态表格和二维码的文档
java·word·itextpdf
Wy. Lsy1 小时前
Kotlin基础学习记录
开发语言·学习·kotlin
The_Killer.2 小时前
格密码--数学基础--06对偶空间与对偶格
学习·线性代数·密码学