Spring Boot-使用JDBC连接并检索数据库(Mysql在Docker中)

目录

 

 

基本概念

演示及代码

如果有乱码


 

基本概念

在Spring Boot调用JDBC时默认是用org.apache.tomcat.jdbc.pool.DataSource作为数据源;数据源的相关配置都在DataSourceProperties里面;

 

演示及代码

浏览器访问如下:

Spring Boot-使用JDBC连接并检索数据库(Mysql在Docker中)_第1张图片

数据库数据如下:

Spring Boot-使用JDBC连接并检索数据库(Mysql在Docker中)_第2张图片

程序结构如下:

Spring Boot-使用JDBC连接并检索数据库(Mysql在Docker中)_第3张图片

源码如下:

HelloController.java

package jdbcdemo.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.ResponseBody;

import java.util.List;
import java.util.Map;

@Controller
public class HelloController {

    @Autowired
    JdbcTemplate jdbcTemplate;


    @ResponseBody
    @GetMapping("/query")
    public Map map(){

        List> list = jdbcTemplate.queryForList("select * from department");
        return list.get(0);
    }
}

application.yml

spring:
  datasource:
    username: root
    password: 123456
    url: jdbc:mysql://192.168.164.141:3306/jdbc
    driver-class-name: com.mysql.jdbc.Driver

porn.xml



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        1.5.19.RELEASE
         
    
    JDBCDemo
    demo
    0.0.1-SNAPSHOT
    demo
    Demo project for Spring Boot

    
        1.8
    

    
        
            org.springframework.boot
            spring-boot-starter-jdbc
        
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            mysql
            mysql-connector-java
            runtime
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    


数据库代码:

/*
SQLyog Ultimate v11.24 (32 bit)
MySQL - 5.5.62 : Database - jdbc
*********************************************************************
*/


/*!40101 SET NAMES utf8 */;

/*!40101 SET SQL_MODE=''*/;

/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`jdbc` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */;

USE `jdbc`;

/*Table structure for table `department` */

DROP TABLE IF EXISTS `department`;

CREATE TABLE `department` (
  `id` int(11) NOT NULL,
  `departmentName` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

/*Data for the table `department` */

insert  into `department`(`id`,`departmentName`) values (0,'开发部');

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

Docker相关命令如下:

ip addr
docker images
docker ps
docker run -p 3306:3306 --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.5

Spring Boot-使用JDBC连接并检索数据库(Mysql在Docker中)_第4张图片

 

如果有乱码

如果浏览器有乱码,一般是编码不统一的问题:

IDEA的编码选择UTF8如下:

Spring Boot-使用JDBC连接并检索数据库(Mysql在Docker中)_第5张图片

数据库也选择UTF8编码:

Spring Boot-使用JDBC连接并检索数据库(Mysql在Docker中)_第6张图片

 

你可能感兴趣的:(Java,Spring,Boot,Docker)