From ffa0de629c4f2126169783db22d60b05e457883a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A8=8B=E5=B8=85=E7=BF=94?= <16699465019@163.com> Date: Wed, 20 Dec 2023 11:59:17 +0800 Subject: [PATCH 1/2] 12.19 --- .../12.19.md" | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 "52\345\217\267\347\250\213\345\270\205\347\277\224/12.19.md" diff --git "a/52\345\217\267\347\250\213\345\270\205\347\277\224/12.19.md" "b/52\345\217\267\347\250\213\345\270\205\347\277\224/12.19.md" new file mode 100644 index 0000000..a95eb14 --- /dev/null +++ "b/52\345\217\267\347\250\213\345\270\205\347\277\224/12.19.md" @@ -0,0 +1,48 @@ +# 笔记 + +项目名称 + + --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 + + \ No newline at end of file -- Gitee From 828c242036362b4b703e726d27de6869d51d0072 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A8=8B=E5=B8=85=E7=BF=94?= <16699465019@163.com> Date: Mon, 25 Dec 2023 22:13:13 +0800 Subject: [PATCH 2/2] 12.25 --- .../12.25.md" | 296 ++++++++++++++++++ 1 file changed, 296 insertions(+) create mode 100644 "52\345\217\267\347\250\213\345\270\205\347\277\224/12.25.md" diff --git "a/52\345\217\267\347\250\213\345\270\205\347\277\224/12.25.md" "b/52\345\217\267\347\250\213\345\270\205\347\277\224/12.25.md" new file mode 100644 index 0000000..8ec43b3 --- /dev/null +++ "b/52\345\217\267\347\250\213\345\270\205\347\277\224/12.25.md" @@ -0,0 +1,296 @@ +# 作业 + +**1.** **创建 brand 表,添加数据** + +``` +-- 删除tb_brand表 +drop table if exists tb_brand; +-- 创建tb_brand表 +create table tb_brand( + id int primary key auto_increment, -- id 主键 + brand_name varchar(20), -- 品牌名称 + company_name varchar(20), -- 企业名称 + ordered int, -- 排序字段 + description varchar(100), -- 描述信息 + status int -- 状态:0:禁用 1:启用 +); +-- 添加数据 +insert into tb_brand (brand_name, company_name, ordered, description, status) +values ('三只松鼠', '三只松鼠股份有限公司', 5, '好吃不上火', 0), + ('华为', '华为技术有限公司', 100, '华为致力于把数字世界带入每个人、每个家庭、每个组织,构建万物互联的智能世界', 1), + ('小米', '小米科技有限公司', 50, 'are you ok', 1); + +SELECT * FROM tb_brand; +``` + +**2.** **创建模块,根据数据表,编写对应的 java 类** + +在 com.mdd.pojo 包下创建 User类 + +``` +package com.mdd.pojo; + +/** + * 品牌 + * + * alt + 鼠标左键:整列编辑 + * + * 在实体类中,基本数据类型建议使用其对应的包装类型 + */ + +public class Brand { + // id 主键 + private Integer id; + // 品牌名称 + private String brandName; + // 企业名称 + private String companyName; + // 排序字段 + private Integer ordered; + // 描述信息 + private String description; + // 状态:0:禁用 1:启用 + private Integer status; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getBrandName() { + return brandName; + } + + public void setBrandName(String brandName) { + this.brandName = brandName; + } + + public String getCompanyName() { + return companyName; + } + + public void setCompanyName(String companyName) { + this.companyName = companyName; + } + + public Integer getOrdered() { + return ordered; + } + + public void setOrdered(Integer ordered) { + this.ordered = ordered; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + @Override + public String toString() { + return "Brand{" + + "id=" + id + + ", brandName='" + brandName + '\'' + + ", companyName='" + companyName + '\'' + + ", ordered=" + ordered + + ", description='" + description + '\'' + + ", status=" + status + + '}'; + } +} +``` + +**3.** **导入坐标** + +在创建好的模块中的 pom.xml 配置文件中添加依赖的坐标 + +``` + + + 4.0.0 + + com.mdd + mybatis_02 + 1.0-SNAPSHOT + + + 17 + 17 + UTF-8 + + + + + + com.mysql + mysql-connector-j + 8.1.0 + + + + org.mybatis + mybatis + 3.5.13 + + + + junit + junit + 4.13.2 + test + + + + +``` + +**4.** **编写 MyBatis 核心配置文件 - > 替换连接信息** + +在模块下的 resources 目录下创建mybatis的配置文件 mybatis-config.xml ,内容如下: + +``` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +``` + +**5. 编写 SQL 映射文件 —> 统一管理 sql 语句,在resources下创建与代理商文件路径相同** + +将sql映射文件(改成与mapper接口同名)移动到该目录,并将namespace属性为Mapper接口完整路径(引用) + +``` + + + + + + + + + + + + + + + + +``` + +**6.定义与 SQL 映射文件同名的 Mapper 接口** + +``` +package com.mdd.mapper; + +import com.mdd.pojo.Brand; + +import java.util.List; + +public interface BrandMapper { + // 方法名就是SQL映射文件中sql语句的id,并保持返回值类型一致 + // 查询所有 + List selectAll(); + // 按照id查询 + Brand selectById(Integer id); + // 查询id大于某个值的 + List selectAllById(Integer id); +} +``` + +**7. 编写测试类** + +``` +package com.mdd; + +import com.mdd.mapper.BrandMapper; +import com.mdd.pojo.Brand; +import org.apache.ibatis.io.Resources; +import org.apache.ibatis.session.SqlSession; +import org.apache.ibatis.session.SqlSessionFactoryBuilder; +import org.junit.Test; + +import java.io.IOException; +import java.util.List; + +public class TestBrand { + @Test + public void selectAll() throws IOException { + //1. 加载mybatis的核心配置文件,获取 sqlSession 对象 + SqlSession sqlSession = new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream("mybatis-config.xml")).openSession(); + //2. 获取UserMapper接口的代理对象,执行SQL语句 + BrandMapper mapper = sqlSession.getMapper(BrandMapper.class); + // 查询所有 + List brands = mapper.selectAll(); + System.out.println(brands); + + // 指定id查询 + Brand brand = mapper.selectById(1); + System.out.println(brand); + + // 查询id大于某个值的 + List list = mapper.selectAllById(1); + System.out.println(list); + + //3. 释放资源 + sqlSession.close(); + } +} \ No newline at end of file -- Gitee