MySQl & Mybatis

MySQl & Mybatis_第1张图片

MySQl & Mybatis_第2张图片 MySQl & Mybatis_第3张图片

一、MySQL

1.1 概述

 1.1.1 MySQL安装

MySQl & Mybatis_第4张图片

MySQl & Mybatis_第5张图片 MySQl & Mybatis_第6张图片

MySQl & Mybatis_第7张图片MySQl & Mybatis_第8张图片

MySQl & Mybatis_第9张图片

1.1.2 数据模型

MySQl & Mybatis_第10张图片

MySQl & Mybatis_第11张图片

1.1.3 SQL简介

MySQl & Mybatis_第12张图片

MySQl & Mybatis_第13张图片 MySQl & Mybatis_第14张图片

1.2 DDL

1.2.1 数据库操作

 MySQl & Mybatis_第15张图片

1.2.2 图形化工具

MySQl & Mybatis_第16张图片 MySQl & Mybatis_第17张图片

MySQl & Mybatis_第18张图片 MySQl & Mybatis_第19张图片

1.2.3 表结构操作

 (一)创建

MySQl & Mybatis_第20张图片

MySQl & Mybatis_第21张图片

(二)数据类型 

(1)数值类型

age tinyint unsigned——加上unsigned就是不能取负数,将取值范围取正数区间变大。

MySQl & Mybatis_第22张图片

(2)字符串类型

char(10):最多只能存储10个字符,不足10个字符,占用10个字符空间(性能较高、浪费空间)

varchar(10): 最多只能存储10个字符,不足10个字符,按照实际长度存储(性能较低、节省空间)

MySQl & Mybatis_第23张图片 (3)日期类型

MySQl & Mybatis_第24张图片

(三)查询
MySQl & Mybatis_第25张图片MySQl & Mybatis_第26张图片
 (四)修改

MySQl & Mybatis_第27张图片

MySQl & Mybatis_第28张图片

(五)删除

 MySQl & Mybatis_第29张图片

MySQl & Mybatis_第30张图片

1.3 DML

MySQl & Mybatis_第31张图片

1.3.1 添加数据insert

MySQl & Mybatis_第32张图片

MySQl & Mybatis_第33张图片

1.3.2 修改数据update

MySQl & Mybatis_第34张图片

MySQl & Mybatis_第35张图片

1.3.3 删除数据delete

MySQl & Mybatis_第36张图片

MySQl & Mybatis_第37张图片

1.4 DQL

1.4.1 基本查询

MySQl & Mybatis_第38张图片

MySQl & Mybatis_第39张图片

MySQl & Mybatis_第40张图片 MySQl & Mybatis_第41张图片

 1.4.2 条件查询

MySQl & Mybatis_第42张图片

 MySQl & Mybatis_第43张图片

MySQl & Mybatis_第44张图片

MySQl & Mybatis_第45张图片

MySQl & Mybatis_第46张图片 MySQl & Mybatis_第47张图片

1.4.3 聚合函数

MySQl & Mybatis_第48张图片

MySQl & Mybatis_第49张图片

MySQl & Mybatis_第50张图片

MySQl & Mybatis_第51张图片

1.4.4 分组查询

MySQl & Mybatis_第52张图片

MySQl & Mybatis_第53张图片

1.4.5 排序查询

MySQl & Mybatis_第54张图片 MySQl & Mybatis_第55张图片

1.4.6 分页查询

MySQl & Mybatis_第56张图片

 MySQl & Mybatis_第57张图片

1.5 多表设计

MySQl & Mybatis_第58张图片

1.5.1 一对多

MySQl & Mybatis_第59张图片

MySQl & Mybatis_第60张图片 MySQl & Mybatis_第61张图片

MySQl & Mybatis_第62张图片 MySQl & Mybatis_第63张图片

MySQl & Mybatis_第64张图片

1.5.2 一对一

MySQl & Mybatis_第65张图片

1.5.3 多对多

MySQl & Mybatis_第66张图片

1.6 多表查询

1.6.1 概述

MySQl & Mybatis_第67张图片

 MySQl & Mybatis_第68张图片

1.6.2 内连接

MySQl & Mybatis_第69张图片MySQl & Mybatis_第70张图片

1.6.3 外连接

MySQl & Mybatis_第71张图片

MySQl & Mybatis_第72张图片

1.7 子查询

MySQl & Mybatis_第73张图片

1.7.1 标量子查询

MySQl & Mybatis_第74张图片

MySQl & Mybatis_第75张图片 MySQl & Mybatis_第76张图片

1.7.2 列子查询

MySQl & Mybatis_第77张图片

1.7.3 行子查询

MySQl & Mybatis_第78张图片

1.7.4 表子查询

MySQl & Mybatis_第79张图片

1.8 事务

1.8.1 介绍与操作

MySQl & Mybatis_第80张图片

MySQl & Mybatis_第81张图片 MySQl & Mybatis_第82张图片

MySQl & Mybatis_第83张图片

1.8.2 四大特性

MySQl & Mybatis_第84张图片

1.9 索引

1.9.1 介绍

MySQl & Mybatis_第85张图片

MySQl & Mybatis_第86张图片

MySQl & Mybatis_第87张图片

1.9.2 结构

MySQl & Mybatis_第88张图片

MySQl & Mybatis_第89张图片

1.9.3 操作语法

MySQl & Mybatis_第90张图片

MySQl & Mybatis_第91张图片

2 Mybatis

2.1 入门

2.1.1 介绍

MySQl & Mybatis_第92张图片

2.1.2 快速入门程序

MySQl & Mybatis_第93张图片 MySQl & Mybatis_第94张图片

MySQl & Mybatis_第95张图片 MySQl & Mybatis_第96张图片

MySQl & Mybatis_第97张图片 

2.1.3 JDBC介绍

MySQl & Mybatis_第98张图片

(一)JDBC操作数据库

package com.itheima;

import com.itheima.mapper.UserMapper;
import com.itheima.pojo.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

@SpringBootTest //springboot整合单元测试的注解
class SpringbootMybatisQuickstartApplicationTests {

    @Autowired
    private UserMapper userMapper;

    @Test
    public void testListUser(){
        List userList = userMapper.list();
        userList.stream().forEach(user -> {
            System.out.println(user);
        });
    }

    @Test
    public void testJdbc() throws Exception {
        //1. 注册驱动
        Class.forName("com.mysql.cj.jdbc.Driver");

        //2. 获取连接对象
        String url = "jdbc:mysql://localhost:3306/mybatis";
        String username = "root";
        String password = "1234";
        Connection connection = DriverManager.getConnection(url, username, password);

        //3. 获取执行SQL的对象Statement,执行SQL,返回结果
        String sql = "select * from user";
        Statement statement = connection.createStatement();
        ResultSet resultSet = statement.executeQuery(sql);

        //4. 封装结果数据
        List userList = new ArrayList<>();
        while (resultSet.next()){
            int id = resultSet.getInt("id");
            String name = resultSet.getString("name");
            short age = resultSet.getShort("age");
            short gender = resultSet.getShort("gender");
            String phone = resultSet.getString("phone");

            User user = new User(id,name,age,gender,phone);
            userList.add(user);
        }

        //5. 释放资源
        statement.close();
        connection.close();
    }
}

 输出:MySQl & Mybatis_第99张图片

MySQl & Mybatis_第100张图片 

MySQl & Mybatis_第101张图片 

2.1.4 数据库连接池

MySQl & Mybatis_第102张图片

 MySQl & Mybatis_第103张图片

 MySQl & Mybatis_第104张图片

MySQl & Mybatis_第105张图片 

2.1.5 lombook

MySQl & Mybatis_第106张图片 

MySQl & Mybatis_第107张图片

MySQl & Mybatis_第108张图片 

2.2 基础操作

2.2.1 环境准备

MySQl & Mybatis_第109张图片

 MySQl & Mybatis_第110张图片

2.2.2 删除

(一)根据主键删除

MySQl & Mybatis_第111张图片 MySQl & Mybatis_第112张图片

MySQl & Mybatis_第113张图片

若想获取删除了几条数据的返回值:

MySQl & Mybatis_第114张图片 

MySQl & Mybatis_第115张图片

输出:0

(二)日志输出

MySQl & Mybatis_第116张图片

MySQl & Mybatis_第117张图片 MySQl & Mybatis_第118张图片

MySQl & Mybatis_第119张图片 

2.2.3 新增

MySQl & Mybatis_第120张图片

MySQl & Mybatis_第121张图片 MySQl & Mybatis_第122张图片

MySQl & Mybatis_第123张图片 MySQl & Mybatis_第124张图片

2.2.4 更新 

MySQl & Mybatis_第125张图片

MySQl & Mybatis_第126张图片

MySQl & Mybatis_第127张图片MySQl & Mybatis_第128张图片

2.2.5 查询

(一)主键查询

MySQl & Mybatis_第129张图片

MySQl & Mybatis_第130张图片

MySQl & Mybatis_第131张图片 MySQl & Mybatis_第132张图片

解决方案一:给字段起别名,让别名与实体类属性一致

MySQl & Mybatis_第133张图片

解决方案二:通过@Results,注释手动映射封装 

MySQl & Mybatis_第134张图片

解决方案三:开启mybatis驼峰命令自动映射开关

MySQl & Mybatis_第135张图片 直接运行原始代码就可以

总结:

MySQl & Mybatis_第136张图片

(二)条件查询

MySQl & Mybatis_第137张图片MySQl & Mybatis_第138张图片

MySQl & Mybatis_第139张图片 MySQl & Mybatis_第140张图片

MySQl & Mybatis_第141张图片 MySQl & Mybatis_第142张图片

2.3 XML映射文件

MySQl & Mybatis_第143张图片 Mapper接口全限定名可以 选中接口名称-copy reference-粘贴到namespace

MySQl & Mybatis_第144张图片

MySQl & Mybatis_第145张图片 MySQl & Mybatis_第146张图片

MySQl & Mybatis_第147张图片 MySQl & Mybatis_第148张图片

2.4 动态SQL 

MySQl & Mybatis_第149张图片

2.4.1 if

MySQl & Mybatis_第150张图片

MySQl & Mybatis_第151张图片 

MySQl & Mybatis_第152张图片 MySQl & Mybatis_第153张图片

MySQl & Mybatis_第154张图片 MySQl & Mybatis_第155张图片

MySQl & Mybatis_第156张图片 MySQl & Mybatis_第157张图片

MySQl & Mybatis_第158张图片 MySQl & Mybatis_第159张图片

 

2.4.2 foreach

MySQl & Mybatis_第160张图片

MySQl & Mybatis_第161张图片 MySQl & Mybatis_第162张图片

MySQl & Mybatis_第163张图片 

2.4.3 sql include

MySQl & Mybatis_第164张图片

MySQl & Mybatis_第165张图片 

你可能感兴趣的:(JavaWeb,mysql,mybatis,数据库)