From a50fac275e275c0da905a79917027bfa5905baa1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9B=B9=E6=AD=A3=E6=B3=A2?= <1938448998@qq.com>
Date: Tue, 19 Dec 2023 20:44:59 +0800
Subject: [PATCH 1/3] =?UTF-8?q?=E5=8D=81=E4=BA=8C=E6=9C=88=E5=8D=81?=
=?UTF-8?q?=E4=B9=9D=E5=8F=B7=E4=BD=9C=E4=B8=9A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../20231219 SSM-maven.md" | 50 +++++++++++++++++++
1 file changed, 50 insertions(+)
create mode 100644 "09 \346\233\271\346\255\243\346\263\242/20231219 SSM-maven.md"
diff --git "a/09 \346\233\271\346\255\243\346\263\242/20231219 SSM-maven.md" "b/09 \346\233\271\346\255\243\346\263\242/20231219 SSM-maven.md"
new file mode 100644
index 0000000..d58dbfc
--- /dev/null
+++ "b/09 \346\233\271\346\255\243\346\263\242/20231219 SSM-maven.md"
@@ -0,0 +1,50 @@
+# 笔记
+
+项目名称
+
+ --pom.xml 核心配置,项目根下
+
+ --src
+
+ --main
+
+--java java源码目录
+
+ --resources java配置文件目录
+
+ --test
+
+--java 源码测试目录
+
+--resource 测试配置目录
+
+**7.1 compile** compile是maven工程的编译命令,作用是将 src/main/java 下的文件编译为 class 文件输出到 target 目录下。 **7.2 test** test是maven工程的测试命令,会执行 src/test/java 下的单元测试类。 cmd 执行 mvn test 执行 src/test/java 下单元测试类,下图为测试结果,运行 1 个测试用例,全部成功。 **7.3 clean** clean是maven工程的清理命令,执行clean会删除target目录及其内容 **7.4 package** package是maven工程的打包命令,对于java工程执行 package 打成 jar 包,对于 web 工程打成 war 包。 **7.5 install** install 是 maven 工程的安装命令,执行 install 将 maven 打成 jar 包或 war 包发布到本地仓库。 从运行结果中,可以看出:当后面的命令执行时,前面的操作过程也都会自动执行
+
+### maven的生命周期
+
+maven对项目构建过程分为三套相互独立的生命周期,这里说的三套而且是相互独立, 这三套分别是: Clean Lifecycle :在进行真正的构建之前进行一些清理工作。 Default Lifecycle :构建的核心部分,编译,测试,打包,部署等等。 Site Lifecycle :生成项目报告,站点,发布站点。
+
+# 作业
+
+```java
+import org.junit.Test;
+
+public class Tap {
+ @Test
+ public void i(){
+ System.out.println(111);
+ }
+}
+```
+
+```java
+
+
+ junit
+ junit
+ 3.8.1
+ test
+
+
+```
+
--
Gitee
From 8a17928d252c7b32e36f7585fc882c327a1430a2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9B=B9=E6=AD=A3=E6=B3=A2?= <1938448998@qq.com>
Date: Thu, 21 Dec 2023 21:30:15 +0800
Subject: [PATCH 2/3] =?UTF-8?q?=E5=8D=81=E4=BA=8C=E6=9C=88=E4=BA=8C?=
=?UTF-8?q?=E5=8D=81=E5=8F=B7=E4=BD=9C=E4=B8=9A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../20231219 Maven.md" | 0
.../20231220 Mybatis.md" | 247 ++++++++++++++++++
2 files changed, 247 insertions(+)
rename "09 \346\233\271\346\255\243\346\263\242/20231219 SSM-maven.md" => "09 \346\233\271\346\255\243\346\263\242/20231219 Maven.md" (100%)
create mode 100644 "09 \346\233\271\346\255\243\346\263\242/20231220 Mybatis.md"
diff --git "a/09 \346\233\271\346\255\243\346\263\242/20231219 SSM-maven.md" "b/09 \346\233\271\346\255\243\346\263\242/20231219 Maven.md"
similarity index 100%
rename from "09 \346\233\271\346\255\243\346\263\242/20231219 SSM-maven.md"
rename to "09 \346\233\271\346\255\243\346\263\242/20231219 Maven.md"
diff --git "a/09 \346\233\271\346\255\243\346\263\242/20231220 Mybatis.md" "b/09 \346\233\271\346\255\243\346\263\242/20231220 Mybatis.md"
new file mode 100644
index 0000000..6c9bf25
--- /dev/null
+++ "b/09 \346\233\271\346\255\243\346\263\242/20231220 Mybatis.md"
@@ -0,0 +1,247 @@
+# 笔记
+
+### **1.** 创建user表,添加数据
+
+```mysql
+create database mybatis;
+use mybatis;
+drop table if exists tb_user;
+create table tb_user(
+id int primary key auto_increment,
+username varchar(20),
+password varchar(20),
+gender char(1),
+addr varchar(30)
+);
+INSERT INTO tb_user VALUES (1, '张三', '123', '男', '北京');
+INSERT INTO tb_user VALUES (2, '李四', '234', '女', '天津');
+INSERT INTO tb_user VALUES (3, '王五', '11', '男', '西安');
+```
+
+### **2.** 创建模块根据数据表,编写对应的java类
+
+在 com.mdd.pojo 包下创建 User类
+
+```java
+public class User {private int id;private String username;private String password;private String gender;private String addr;//省略了 setter 和 getter}
+```
+
+### 3.导入坐标
+
+```java
+
+
+4. 编写 MyBatis 核心配置文件 -- > 替换连接信息
+ 在模块下的 resources 目录下创建mybatis的配置文件 mybatis-config.xml ,内容
+如下:
+
+org.mybatis
+mybatis
+3.5.5
+
+
+
+com.mysql
+mysql-connector-j
+8.1.0
+
+
+
+junit
+junit
+4.13
+test
+
+
+```
+
+### **4.** **编写** **MyBatis** **核心配置文件** **-- >** 替换连接信息
+
+ 在模块下的 resources 目录下创建mybatis的配置文件 mybatis-config.xml ,内容
+
+如下:
+
+```java
+
+
+
+
+
+
+
+
+
+
+
+5. 编写 SQL 映射文件 --> 统一管理sql语句
+在模块的 resources 目录下创建映射配置文件 UserMapper.xml ,内容如下:
+6. 编写测试类
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+### **5.** **编写** **SQL** **映射文件** **-->** 统一管理sql语句
+
+在模块的 resources 目录下创建映射配置文件 UserMapper.xml ,内容如下:
+
+```java
+
+
+
+
+
+```
+
+### **6.** 编写测试类
+
+```java
+@Test
+public static test01() {
+//1. 加载mybatis的核心配置文件,获取 SqlSessionFactory
+String resource = "mybatis-config.xml";
+InputStream inputStream =
+Resources.getResourceAsStream(resource);
+SqlSessionFactory sqlSessionFactory = new
+SqlSessionFactoryBuilder().build(inputStream);
+//2. 获取SqlSession对象,用它来执行sql
+SqlSession sqlSession = sqlSessionFactory.openSession();
+//3. 执行sql
+List users = sqlSession.selectList("test.selectAll"); //
+参数是一个字符串,该字符串必须是映射配置文件的namespace.id
+System.out.println(users);
+//4. 释放资源
+sqlSession.close();
+}
+```
+
+
+
+# 作业
+
+```java
+package com.okk;
+
+import com.okk.pojo.User;
+import org.apache.ibatis.io.Resources;
+import org.apache.ibatis.session.SqlSession;
+import org.apache.ibatis.session.SqlSessionFactory;
+import org.apache.ibatis.session.SqlSessionFactoryBuilder;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.List;
+
+public class App {
+ public static void main(String[] args) throws IOException {
+// 1 加载mybatis的核心配置文件
+ String resource = "mybatis-config.xml";
+ InputStream inputStream = Resources.getResourceAsStream(resource);
+ SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
+
+ // 2. 创建sqlSession对象。用来执行SQL语句
+ SqlSession sqlSession = sqlSessionFactory.openSession();
+
+ // 3 执行SQL语句
+ User o = sqlSession.selectOne("test.selectById", 3);
+ List list = sqlSession.selectList("test.selectAll");// namespace.id
+ System.out.println(list);
+
+ User user= sqlSession.selectOne("test.selectById", 9);
+ System.out.println(user);
+ // 4 释放资源
+ sqlSession.close();
+ }
+}
+```
+
+```xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+```xml
+
+
+
+
+
+
+
+
+ insert into tb_user (username, age, gender) VALUES (#{username}, #{age}, #{gender})
+
+
+
+
+ delete from tb_user where id = #{id}
+
+
+
+ update tb_user
+ set username = #{username},
+ age = #{age},
+ gender =#{gender}
+ where id = #{id};
+
+
+
+```
+
--
Gitee
From 4b0cb28e4a280b156b1b1c8937d38964e76c8787 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9B=B9=E6=AD=A3=E6=B3=A2?= <1938448998@qq.com>
Date: Mon, 25 Dec 2023 20:00:06 +0800
Subject: [PATCH 3/3] =?UTF-8?q?=E5=8D=81=E4=BA=8C=E6=9C=88=E4=BA=8C?=
=?UTF-8?q?=E5=8D=81=E4=BA=8C=E5=8F=B7=E4=BD=9C=E4=B8=9A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...is\347\254\254\344\272\214\347\211\210.md" | 335 ++++++++++++
...36\345\210\240\346\224\271\346\237\245.md" | 509 ++++++++++++++++++
2 files changed, 844 insertions(+)
create mode 100644 "09 \346\233\271\346\255\243\346\263\242/20231221 Mybatis\347\254\254\344\272\214\347\211\210.md"
create mode 100644 "09 \346\233\271\346\255\243\346\263\242/20231222 Mybatis\345\242\236\345\210\240\346\224\271\346\237\245.md"
diff --git "a/09 \346\233\271\346\255\243\346\263\242/20231221 Mybatis\347\254\254\344\272\214\347\211\210.md" "b/09 \346\233\271\346\255\243\346\263\242/20231221 Mybatis\347\254\254\344\272\214\347\211\210.md"
new file mode 100644
index 0000000..da54fc7
--- /dev/null
+++ "b/09 \346\233\271\346\255\243\346\263\242/20231221 Mybatis\347\254\254\344\272\214\347\211\210.md"
@@ -0,0 +1,335 @@
+# 笔记
+
+```java
+使用Mapper代理方式,必须满足以下要求:
+1.定义与SQL映射文件同名的Mapper接口,
+2.在 Mapper 接口中定义方法,方法名就是SQL映射文件中sql语句的id,并保持
+参数类型和返回值类型一致
+namespace:名称空间。必须是对应接口的全限定名 >
+
+