MySQl & Mybatis

发布时间:2024年01月14日

?

一、MySQL

1.1 概述

?1.1.1 MySQL安装

?

1.1.2 数据模型

1.1.3 SQL简介

?

1.2 DDL

1.2.1 数据库操作

?

1.2.2 图形化工具

?

?

1.2.3 表结构操作

?(一)创建

(二)数据类型?

(1)数值类型

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

(2)字符串类型

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

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

?(3)日期类型

(三)查询
?(四)修改

(五)删除

?

1.3 DML

1.3.1 添加数据insert

1.3.2 修改数据update

1.3.3 删除数据delete

1.4 DQL

1.4.1 基本查询

?

?1.4.2 条件查询

?

?

1.4.3 聚合函数

1.4.4 分组查询

1.4.5 排序查询

?

1.4.6 分页查询

?

1.5 多表设计

1.5.1 一对多

?

?

1.5.2 一对一

1.5.3 多对多

1.6 多表查询

1.6.1 概述

?

1.6.2 内连接

1.6.3 外连接

1.7 子查询

1.7.1 标量子查询

?

1.7.2 列子查询

1.7.3 行子查询

1.7.4 表子查询

1.8 事务

1.8.1 介绍与操作

?

1.8.2 四大特性

1.9 索引

1.9.1 介绍

1.9.2 结构

1.9.3 操作语法

2 Mybatis

2.1 入门

2.1.1 介绍

2.1.2 快速入门程序

?

?

?

2.1.3 JDBC介绍

(一)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<User> 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<User> 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();
    }
}

?输出:

?

?

2.1.4 数据库连接池

?

?

?

2.1.5 lombook

?

?

2.2 基础操作

2.2.1 环境准备

?

2.2.2 删除

(一)根据主键删除

?

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

?

输出:0

(二)日志输出

?

?

2.2.3 新增

?

?

2.2.4 更新?

2.2.5 查询

(一)主键查询

?

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

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

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

?直接运行原始代码就可以

总结:

(二)条件查询

?

?

2.3 XML映射文件

?Mapper接口全限定名可以 选中接口名称-copy reference-粘贴到namespace

?

?

2.4 动态SQL?

2.4.1 if

?

?

?

?

?

?

2.4.2 foreach

?

?

2.4.3 sql include

?

文章来源:https://blog.csdn.net/m0_57331274/article/details/135512403
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。