MySQL 软件由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点, 一般中小型网站的开发都选择MySQL 作为网站数据库。

Spring Boot 集成MySQL 非常简单,因为Spring Boot 包含一个功能强大的资源库,借助于Spring Boot 框架,我们可以不用编写原始的访问数据库的代码, 也不用调用JDBC (Java Data Base Connectivity )或者连接池等被称为底层的代码,我们将在更高层次上访问数据库。

在springboot中集成MySQL大致有以下5个步骤:

步骤1:引入依赖:在项目的porn 文件中添加MySQL 所需的依赖

<!-- MySQL连接Java的驱动程序 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <!-- 支持通过JDBC连才妾数据库 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>

步骤2:在application.properties 文件中添加数据库相关配置

# MySQL连接信息
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/sqltest
spring.datasource.username=root
spring.datasource.password=1234
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

步骤3:设计表和实体

在MySQL的客户端工具Navicat中,创建的表如下图所示:

spring boot 集成sqlite配置DataSourceConfig spring boot集成数据库_springboot

实体如下:

public class Stu {
    private Integer stuId;
    private String stuName;
    private String stuPassword;
	//省略get/set方法

步骤4:测试用例开发:开发项目的单元测试类,代码如下:

//JdbcTemplate :是一个通过JDBC 连接数据库的工具类。
	//@Resource :自动注入,项目启动后会实例化一个JdbcTemplate对象,省去初始化工作。
	@Resource
    private JdbcTemplate jdbcTemplate;

    /**
     * MySQL集成springboot的测试
     */
    @Test
    public void mySqlTest() {
        String sql = "select stu_id,stu_name,stu_password from stu";
        //query()方法:通过传入SQL 语句和Row Mapper对象可以查询出数据库中的数据。
        List<Stu> stuList = (List<Stu>) jdbcTemplate.query(sql, new RowMapper<Stu>() {
            @Override
            public Stu mapRow(ResultSet rs, int i) throws SQLException {
                Stu stu = new Stu();
                stu.setStuId(rs.getInt("stu_id"));
                stu.setStuName(rs.getString("stu_name"));
                stu.setStuPassword(rs.getString("stu_password"));
                return stu;
            }
        });
        System.out.println("查询数据库成功:");
        for (Stu stu : stuList) {
            System.out.println("id:"+stu.getStuId()+"; name:"+stu.getStuName()+"; password:"+stu.getStuPassword());
        }
    }

步骤5:测试,执行一下单元测试,可在控制台看到如下信息:

spring boot 集成sqlite配置DataSourceConfig spring boot集成数据库_spring_02

至此,springboot在idea上 集成MySQL数据库,完成。

为了方便,可以在idea上配置MySQL:在idea最右边,点DataBase,添加数据库

spring boot 集成sqlite配置DataSourceConfig spring boot集成数据库_spring_03

填完信息之后,点 Test Connection 看看能不能连接。成功的话,点Applyok即可。

可对数据库中的数据进行操作:

spring boot 集成sqlite配置DataSourceConfig spring boot集成数据库_spring_04

通常,项目开发中会集成Druid:
Druid 是阿里巴巴开源项目中的一个数据库连接池。Druid 是一个JDBC 组件,包
括三部分:

  1. DruidDriver 代理Driver ,能够提供基于Filter-Chain 模式的插件体系;
  2. DruidDataSource 高效可管理的数据库连接池;
  3. SQLParser,支持所有JDBC 兼容的数据库,包括Oracle 、MySQL 、SQL Server 等。

Durid 在监控、可扩展、稳定性和性能方面具有明显的优势, 通过其提供的监控功能可以观察数据库连接池和SQL 查询的工作情况,使用Druid 连接池可以提高数据库的访问性能。

在项目依赖中继续添加druid 的依赖

<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
        </dependency>