# hello-mybatis **Repository Path**: tr0313/hello-mybatis ## Basic Information - **Project Name**: hello-mybatis - **Description**: mybatis学习项目 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2026-03-12 - **Last Updated**: 2026-04-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 接口文档 V1:https://www.yuque.com/tangrui-0313/software-development/uhnkqqe0dqrgai3m V2:https://www.yuque.com/tangrui-0313/software-development/sylhrnhd1713fqcq # 项目结构 - framework 框架级代码 看懂 - model 实体类 掌握 - XXXApplication 启动类 - controller 控制层 接收参数,响应数据 # 代码规范 - class interface enum exception 大驼峰 SchoolManageApplication - 方法名、变量名 小驼峰 schoolManageApplication - 数据库 TODO - 缩进、换行统一 ## 算法 - 算法=数据结构+代码逻辑 - 选对数据结构 - 写好代码逻辑 ## 设计模式 - 避免僵尸代码 - 三层结构 - 高内聚、低耦合 ## 三层架构 - controller 控制层 控制参数接收,数据返回 - service 服务层 控制业务逻辑 - dao/mapper/repository 数据层 控制数据增删改查 ## IOC与DI - IOC inversion of controll 控制反转 spring帮你创建对象,创建完后放在容器、创建对象Bean 类上RestController、Service、Repository - di dependency inject 依赖注入 现在依赖帮你找到并且注入让你使用 Autowried/Resource ## 数据库 ### 概述 - 数据库不认识大小写 - 数据库单双引号含义相同 - 建议使用下划线命名法 create_time ### 数据库设计 DDL(Data Definition Language) 数据库:名字、字符集、排序规则 表:哪些表、表之间关系、名字、字符集、排序规则 字段:哪些字段、字段间关系、字段名、字段类型、字段约束 ### 数据库操作 DML(Data Manipulation Language) insert、update、delete、select ```# 新增 # INSERT INTO address(`province`,`city`,`detail`) VALUES ('123','abc','123abc'); # 单个修改 # UPDATE address SET `create_time`="2026-03-12 11:17:59",`update_time`="2026-03-12 11:17:59" where id = 4; # 批量修改 # in 枚举值 不连续 # UPDATE address SET `create_time`="2026-03-12 11:17:59" where id in (1,2,4,5); # 删除 # between and 连续的 DELETE FROM `address` WHERE id BETWEEN 2 and 5; SELECT * FROM `address` ``` # 数据库开发 ## 数据库 - MySQL 市场占有率第一 - 数据库操作语言 SQL - DQL data query language 查询 select - DML data manage language 管理 insert update delete - DDL data define language 定义 dbs(名字、排序规则)、tables(名字、关系)、properties(名字、类型、约束) - DCL data access language 访问 权限 ## Mybatis ### 概述 Mybatis是用来数据库开发,JDBC、数据库连接池 - 数据库全小写,下划线分割多个单词 - Java区分大小写,多个单词通过驼峰分割 - ORM - 数据库是下划线命名的name,create_time,Java是小驼峰命名name,createTime - 数据库是关系Relationship,Java对象Object,表、属性映射Mapping(一一对应),ORM - ORM(Object-Relational Mapping,对象关系映射) 是一种将面向对象程序中的对象模型与关系型数据库的表结构自动映射的技术,让开发者可以用操作对象的方式来操作数据库 ### Mybatis与Spring Boot整合 1. 配置数据库的url、driver、username、password 2. 创建实体类,实体类与数据库表一一对应,类的属性与表中字段一一对应 (ORM:Object Relation Mapping) 3. 编写Mapper,注解开发,XML开发(动态SQL) 4. 测试(postman测试、单元测试)