springboot 项目实战-03章


1.本章介绍

(1)本章总的任务是要完成后端框架搭建和查询接口开发

(2)首先下载mysql,idea关联 mysql,数据库可视化(本地就可以用navicate之类的,我用Sequel Pro,之后服务部署最好用阿里云)

(3)集成mybaits

(4)集成mybaits Generator

(5)电子书查询接口开发

2.mysql 配置

(1)下载mysql(略)

(2)idea 插件如何使用mysql 执行.sql 文件,执行sql语句:https://blog.csdn.net/fengxueliuke/article/details/106836846

3.mybaits持久层框架

(1)横向上来说,持久层是与数据库打交道、同时还有服务层,也叫业务层,写业务逻辑的、表现层是与界面相关的。

(2)纵向上来说,持久层框架除了mybaits还有hibernate。mybaits是半自动框架,还要写sql,hibernate是全自动框架,不需要写sql。

(3)集成mybatis:

第一步,加依赖

 
        <dependency>
            <groupId>org.mybatis.spring.bootgroupId>
            <artifactId>mybatis-spring-boot-starterartifactId>
            <version>2.1.3version>
        dependency>
        
        <dependency>
            <groupId>mysqlgroupId>
            <artifactId>mysql-connector-javaartifactId>
            <version>8.0.22version>
        dependency>

第二步,配置文件写入数据源链接等

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/wiki
spring.datasource,username=root
spring.datasource.password=xxx

注意,这个配置文件中,spring.datasource.url配置成什么样都可以启动服务,因为不会真的去链接数据库, 只会检查有没有配置数据源链接。

(4)如何配置持久层?

第一步,如果你有一个数据表叫Test,那么,首先生成一个实体类。实体类所在的包名往往叫domain、entity、pojo。实体类与数据库表一一映射,比如数据表中有字段id、name、password,那么生成实体类就是这样的。

package com.sankuai.wiki.domain;

public class Test {
    private Integer id;

    private String name;

    private String password;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

第二步,生成mapper。持久层又叫Mapper层,也就是广为人知的Dao层,如果后续用官方代码生成器,其生成的代码就是XXXMapper

写一个XXXMapper接口,接口中有一个方法,

package com.xxx.wiki.mapper;

import com.xxx.wiki.domain.Test;

import java.util.List;

public interface TestMapper {
    public List list();
}

第三步,写sql脚本。在resource 下面新建dir 取名mapper,mapper下面新增同名xml,XXXMapper.xml 

内容如下:

<?xml version="1.0" encoding="UTF-8" ?>
DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > 

<mapper namespace="com.xxx.wiki.mapper.TestMapper"> <select id="list" resultType="com.xxx.wiki.domain.Test"> select> mapper>


其中,,namespace:持久层Mapper的类名