【MyBatis】XML版快速入门——练习题

news2024/11/19 6:31:54

目录

1、准备工作

1.1、导入依赖(mybatis启动器和mysql驱动)

1.2.、yml中配置MyBatis的配置

3、编写domain、mapper、xml

2、数据库准备 

2.1、类型表

2.2、老师表

2.3、班级表

2.4、城市表

2.5、学生表

2.6、课程表

2.7、中间表 

3、练习题

3.1、练习1

3.2、练习2

3.3、练习3

3.4、练习4

3.5、练习5

3.6、优化

4、总结

1、准备工作

1.1、导入依赖(mybatis启动器和mysql驱动)

        <!-- mybatis启动器 -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.2</version>
        </dependency>

        <!-- mysql驱动 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${mysql.version}</version>
        </dependency>

1.2.、yml中配置MyBatis的配置

server:
  port: 8888
spring:
  application:
    name: tanhua-test-xml
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/test2?useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true&useSSL=false
    username: root
    password: 123456
mybatis:
  mapper-locations: classpath:mapper/*.xml
  type-aliases-package: com.czxy.domain
  configuration:
    map-underscore-to-camel-case: true
logging:
  level:
    com.czxy.mapper: debug

3、编写domain、mapper、xml

@Mapper作用与 Mapper 用于告诉sprigng框架此接口的实现类由Mybatis负责创建,并将其实现类对象存储到spring容器中。

编写xml namespace对应你的mapper

2、数据库准备 

2.1、类型表

CREATE TABLE `tb_teacher_type` (
  `type_id` INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
  `content` VARCHAR(50) COMMENT '类型'
);

INSERT  INTO `tb_teacher_type`(`type_id`,`content`) VALUES (1,'授课老师');
INSERT  INTO `tb_teacher_type`(`type_id`,`content`) VALUES (2,'助理老师');
INSERT  INTO `tb_teacher_type`(`type_id`,`content`) VALUES (3,'辅导员老师');

2.2、老师表

CREATE TABLE `tb_teacher` (
  `tid` INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
  `tname` VARCHAR(50) DEFAULT NULL COMMENT '老师姓名',
  `type` INT(11) DEFAULT NULL COMMENT '老师类型ID'
);
INSERT  INTO `tb_teacher`(`tid`,`tname`,`type`) VALUES (1,'梁桐老师',1);
INSERT  INTO `tb_teacher`(`tid`,`tname`,`type`) VALUES (2,'马坤老师',2);
INSERT  INTO `tb_teacher`(`tid`,`tname`,`type`) VALUES (3,'仲燕老师',3);
INSERT  INTO `tb_teacher`(`tid`,`tname`,`type`) VALUES (4,'袁新奇老师',1);
INSERT  INTO `tb_teacher`(`tid`,`tname`,`type`) VALUES (5,'任林达老师',2);
INSERT  INTO `tb_teacher`(`tid`,`tname`,`type`) VALUES (6,'王珊珊老师',3);

2.3、班级表

CREATE TABLE `tb_class` (
  `cid` INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
  `cname` VARCHAR(50) DEFAULT NULL COMMENT '班级名称',
  `teacher1_id` INT(11) DEFAULT NULL COMMENT '授课老师',
  `teacher2_id` INT(11) DEFAULT NULL COMMENT '助理老师',
  `teacher3_id` INT(11) DEFAULT NULL COMMENT '辅导员老师'
);

INSERT  INTO `tb_class`(`cid`,`cname`,`teacher1_id`,`teacher2_id`,`teacher3_id`) VALUES (1,'Java56',1,2,3);
INSERT  INTO `tb_class`(`cid`,`cname`,`teacher1_id`,`teacher2_id`,`teacher3_id`) VALUES (2,'Java78',1,2,3);
INSERT  INTO `tb_class`(`cid`,`cname`,`teacher1_id`,`teacher2_id`,`teacher3_id`) VALUES (3,'Java12',4,5,6);
INSERT  INTO `tb_class`(`cid`,`cname`,`teacher1_id`,`teacher2_id`,`teacher3_id`) VALUES (4,'Java34',4,5,6);

2.4、城市表

CREATE TABLE tb_city(
  c_id VARCHAR(32) PRIMARY KEY COMMENT '城市ID',
  city_name VARCHAR(20) COMMENT '城市名称' ,
  parent_id VARCHAR(32) COMMENT '父ID'
);

INSERT INTO tb_city(c_id,city_name,parent_id) VALUES('320000','江苏省','0');
INSERT INTO tb_city(c_id,city_name,parent_id) VALUES('140000','山西省','0');
INSERT INTO tb_city(c_id,city_name,parent_id) VALUES('130000','河北省','0');

INSERT INTO tb_city(c_id,city_name,parent_id) VALUES('320100','南京市','320000');
INSERT INTO tb_city(c_id,city_name,parent_id) VALUES('320102','玄武区','320100');
INSERT INTO tb_city(c_id,city_name,parent_id) VALUES('320103','白下区','320100');

INSERT INTO tb_city(c_id,city_name,parent_id) VALUES('321300','宿迁市','320000');
INSERT INTO tb_city(c_id,city_name,parent_id) VALUES('321322','沭阳县','321300');
INSERT INTO tb_city(c_id,city_name,parent_id) VALUES('321323','泗阳县','321300');


INSERT INTO tb_city(c_id,city_name,parent_id) VALUES('140100','太原市','140000');
INSERT INTO tb_city(c_id,city_name,parent_id) VALUES('140106','迎泽区','140100');
INSERT INTO tb_city(c_id,city_name,parent_id) VALUES('140108','尖草坪区','140100');

INSERT INTO tb_city(c_id,city_name,parent_id) VALUES('140800','运城市','140000');
INSERT INTO tb_city(c_id,city_name,parent_id) VALUES('140823','闻喜县','140800');
INSERT INTO tb_city(c_id,city_name,parent_id) VALUES('140828','夏 县','140800');

INSERT INTO tb_city(c_id,city_name,parent_id) VALUES('130100','石家庄市','130000');
INSERT INTO tb_city(c_id,city_name,parent_id) VALUES('130127','高邑县','130100');
INSERT INTO tb_city(c_id,city_name,parent_id) VALUES('130185','鹿泉市','130100');

INSERT INTO tb_city(c_id,city_name,parent_id) VALUES('131000','廊坊市','130000');
INSERT INTO tb_city(c_id,city_name,parent_id) VALUES('131003','广阳区','131000');
INSERT INTO tb_city(c_id,city_name,parent_id) VALUES('131022','固安县','131000');

2.5、学生表

CREATE TABLE `tb_student` (
  `s_id` INT NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '学生ID',
  `sname` VARCHAR(50) DEFAULT NULL COMMENT '姓名',
  `age` INT(11) DEFAULT NULL COMMENT '年龄',
  `birthday` DATETIME DEFAULT NULL COMMENT '生日',
  `gender` CHAR(1) DEFAULT NULL COMMENT '性别',
  `c_id` INT DEFAULT NULL COMMENT '班级ID',
  `province_id` VARCHAR(32) DEFAULT NULL COMMENT '省ID',
  `city_id` VARCHAR(32) DEFAULT NULL COMMENT '市ID',
  `county_id` VARCHAR(32) DEFAULT NULL COMMENT '县ID'
);

INSERT  INTO `tb_student`(`s_id`,`sname`,`age`,`birthday`,`gender`,`c_id`,`province_id`,`city_id`,`county_id`) VALUES (1,'赵三33',21,'2001-01-17 00:00:00','1',1,'320000','321300','321322');
INSERT  INTO `tb_student`(`s_id`,`sname`,`age`,`birthday`,`gender`,`c_id`,`province_id`,`city_id`,`county_id`) VALUES (2,'钱四444',1900,'2001-05-16 00:00:00','1',2,'320000','321300','321322');
INSERT  INTO `tb_student`(`s_id`,`sname`,`age`,`birthday`,`gender`,`c_id`,`province_id`,`city_id`,`county_id`) VALUES (3,'孙五56',189,'2022-03-15 00:00:00','0',1,'320000','321300','321322');
INSERT  INTO `tb_student`(`s_id`,`sname`,`age`,`birthday`,`gender`,`c_id`,`province_id`,`city_id`,`county_id`) VALUES (4,'张三',20,'2020-12-21 00:00:00','0',2,'320000','321300','321322');
INSERT  INTO `tb_student`(`s_id`,`sname`,`age`,`birthday`,`gender`,`c_id`,`province_id`,`city_id`,`county_id`) VALUES (5,'xxx',18,'2020-12-21 00:00:00','0',2,'140000','140800','140823');
INSERT  INTO `tb_student`(`s_id`,`sname`,`age`,`birthday`,`gender`,`c_id`,`province_id`,`city_id`,`county_id`) VALUES (6,'123',18,'2020-11-01 00:00:00','0',3,'130000','130100','130127');
INSERT  INTO `tb_student`(`s_id`,`sname`,`age`,`birthday`,`gender`,`c_id`,`province_id`,`city_id`,`county_id`) VALUES (7,'xx',18,'2020-11-02 00:00:00','0',1,'130000','131000','131003');

2.6、课程表

CREATE TABLE `tb_course` (
  `c_id` INT NOT NULL PRIMARY KEY COMMENT '课程ID',
  `cname` VARCHAR(50) DEFAULT NULL COMMENT '课程名称',
  `desc` VARCHAR(100) DEFAULT NULL COMMENT '课程描述'
);

INSERT  INTO `tb_course`(`c_id`,`cname`,`desc`) VALUES (1,'Java基础','JavaSE所有课程');
INSERT  INTO `tb_course`(`c_id`,`cname`,`desc`) VALUES (2,'JavaWeb','Java Web 所有课程');
INSERT  INTO `tb_course`(`c_id`,`cname`,`desc`) VALUES (3,'SSM','Spring Mvc、Spring、MyBatis所有课程');

2.7、中间表 

CREATE TABLE `tb_student_course` (
  `s_id` INT NOT NULL COMMENT '学生ID',
  `c_id` INT NOT NULL COMMENT '课程ID',
  `score` DOUBLE DEFAULT NULL,
  PRIMARY KEY (`s_id`,`c_id`)
);

INSERT INTO tb_student_course(s_id,c_id,score) VALUES(1,1,100);
INSERT INTO tb_student_course(s_id,c_id,score) VALUES(1,2,95);
INSERT INTO tb_student_course(s_id,c_id,score) VALUES(1,3,NULL);

INSERT INTO tb_student_course(s_id,c_id,score) VALUES(2,1,100);
INSERT INTO tb_student_course(s_id,c_id,score) VALUES(2,2,95);
INSERT INTO tb_student_course(s_id,c_id,score) VALUES(2,3,100);

INSERT INTO tb_student_course(s_id,c_id,score) VALUES(3,1,80);
INSERT INTO tb_student_course(s_id,c_id,score) VALUES(3,2,NULL);
INSERT INTO tb_student_course(s_id,c_id,score) VALUES(3,3,90);

3、练习题

3.1、练习1

  • 查询所有的老师,同时

    • 查询老师对应的类型

    • 查询老师所教授的课程

TeacherMapper:

@Mapper
public interface TeacherMapper {
    /**
     * 查询所有
     * @return
     */
    List<Teacher> selectAll();

}

TeacherMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.czxy.mapper.TeacherMapper">

    <resultMap id="teacherResultMap" type="teacher">
        <result property="type" column="type"></result>
        <result property="tid" column="tid"></result>

        <association property="teacherType" column="type" select="com.czxy.mapper.TeacherTypeMapper.selectById"></association>

        <collection property="courseList" column="tid" select="com.czxy.mapper.CourseMapper.selectCourseIdTeacher"></collection>
    </resultMap>


    <select id="selectAll" resultMap="teacherResultMap">
        select * from tb_teacher
    </select>


</mapper>

TeacherTypeMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.czxy.mapper.TeacherTypeMapper">

    <select id="selectById" resultType="teacherType">
        select * from tb_teacher_type where type_id = #{typeId}
    </select>

</mapper>

CourseMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.czxy.mapper.CourseMapper">

    <resultMap id="courseResultMap" type="course">
        <result property = "cid" column = "c_id"></result>

        <association property="total" column="c_id" select="com.czxy.mapper.StudentMapper.countByCourseId"></association>

        <collection property="studentList" column="c_id" select="com.czxy.mapper.StudentMapper.selectAllByCourseId"></collection>
    </resultMap>


    <select id="selectCourseIdTeacher" resultMap="courseResultMap">
        select c.* from tb_course c inner join tb_course_teacher ct on ct.c_id = c.c_id where ct.t_id = #{teacherId}
    </select>

</mapper>

3.2、练习2

  • 查询所有的班级,同时

    • 查询班级对应的老师

    • 查询班级学生的总人数

    • 查询班级包含的学生详情

CourseMapper

@Mapper
public interface CourseMapper {


    public List<Course> selectAll();

}

CourseMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.czxy.mapper.CourseMapper">

    <resultMap id="courseResultMap" type="course">
        <result property = "cid" column = "c_id"></result>

        <association property="total" column="c_id" select="com.czxy.mapper.StudentMapper.countByCourseId"></association>

        <collection property="studentList" column="c_id" select="com.czxy.mapper.StudentMapper.selectAllByCourseId"></collection>
    </resultMap>


    <select id="selectAll" resultMap="courseResultMap">
        select * from tb_course
    </select>

</mapper>

StudentMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.czxy.mapper.StudentMapper">

    <select id="countByCourseId" resultType="long">
        select count(1) from tb_student s
            inner join tb_student_course sc on s.s_id = sc.s_id
            where sc.c_id = #{courseId}
    </select>

    <select id="selectAllByCourseId" resultType="student">
        select * from tb_student s
            inner join tb_student_course sc on s.s_id = sc.s_id
            where sc.c_id = #{courseId}
    </select>
    
</mapper>

3.3、练习3

  • 查询所有的学生,同时

    • 查询学生所属班级

    • 查询学生省市县信息

    • 查询学生所学课程

StudentMapper

@Mapper
public interface StudentMapper {
   
    /**
     * 查询所有
     * @return
     */
    List<Student> selectAll();
}

StudentMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.czxy.mapper.StudentMapper">

    <resultMap id="studentResultMap" type="student">
        <result property="sid" column="s_id"></result>
        <result property="cid" column="c_id"></result>
        <result property="provinceId" column="province_id"></result>
        <result property="cityId" column="city_id"></result>
        <result property="countyId" column="county_id"></result>

        <association property="classes" column="c_id" select="com.czxy.mapper.ClassesMapper.selectById"></association>

        <association property="province" column="province_id" select="com.czxy.mapper.CityMapper.selectById"></association>
        <association property="city" column="city_id" select="com.czxy.mapper.CityMapper.selectById"></association>
        <association property="county" column="county_id" select="com.czxy.mapper.CityMapper.selectById"></association>

        <collection property="courseList" column="s_id" select="com.czxy.mapper.CourseMapper.selectAllByStudentId"></collection>
    </resultMap>

    <select id="selectAll" resultMap="studentResultMap">
        select * from tb_student
    </select>

</mapper>

ClassesMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.czxy.mapper.ClassesMapper">

    <select id="selectById" resultType="classes">
        select * from tb_class where cid = #{classesId}
    </select>

</mapper>

CityMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.czxy.mapper.CityMapper">

    <select id="selectById" resultType="city">
        select * from tb_city where c_id = #{cid}
    </select>

</mapper>

CourseMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.czxy.mapper.CourseMapper">

    <select id="selectAllByStudentId" resultType="course">
        select c.* from tb_course c
        inner join tb_student_course sc on c.c_id = sc.c_id
        where sc.s_id = #{studentId}
    </select>

</mapper>

3.4、练习4

  • 查询所有课程,同时

    • 查询学生学习该课程总人数

    • 查询学生学习该课程详情

CourseMapper

@Mapper
public interface CourseMapper {

    public List<Course> selectAll();
}

CourseMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.czxy.mapper.CourseMapper">

    <resultMap id="courseResultMap" type="course">
        <result property = "cid" column = "c_id"></result>

        <association property="total" column="c_id" select="com.czxy.mapper.StudentMapper.countByCourseId"></association>

        <collection property="studentList" column="c_id" select="com.czxy.mapper.StudentMapper.selectAllByCourseId"></collection>
    </resultMap>

    <select id="selectAll" resultMap="courseResultMap">
        select * from tb_course
    </select>

</mapper>

StudentMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.czxy.mapper.StudentMapper">

    <select id="countByCourseId" resultType="long">
        select count(1) from tb_student s
            inner join tb_student_course sc on s.s_id = sc.s_id
            where sc.c_id = #{courseId}
    </select>

    <select id="selectAllByCourseId" resultType="student">
        select * from tb_student s
            inner join tb_student_course sc on s.s_id = sc.s_id
            where sc.c_id = #{courseId}
    </select>
    
</mapper>

3.5、练习5

  • 创建或修改表,完成老师与课程关联关系

    • 不同的老师可以教授不同的课程

    • 不同的课程可以由不同的老师教授

3.6、优化

  • 优化:2.1、2.2、2.3、2.4,该查询所有指定若干

4、总结

@Param作用:给参数命名 sql语句使用#{}或${}取出

mybatis.mapper-locations:classpath:mapper/*.xml:扫描mapper mapper接口与mapper xml

才能绑定

mybatis.type-aliases-package:扫描自定义POJO 映射不用全类名 可以直接写类名

mybatis.configuration.map-underscore-to-camel-case:开启自动驼峰命名转换

<ResultMap>

ResultMap:自定义结果集映射规则,自定义某个JavaBean的封装规则。

type:返回的类型

id:指定主键列的封装规则(主键也可以使用result来定义)

property:指定对应的javaBean属性

column:指定哪一列

<association>

association:配置一对一关联

property:指定对应的javaBean属性

column:指定哪一列

select:dao层进行查询的方法

<collection>

collection:一对多关联

property:指定对应的javaBean属性

column:指定哪一列

select:dao层进行查询的方法

select、update、delete的parameterType

传递参数的类型

<foreach>

foeach是mybatis的动态标签 一般用来批量操作

collection:传入的集合 【必选】

item:集合中元素迭代时的别名 【必选】

open:代码开始符号 一般时(和close)合用 常用in(),values()时 【可选】

separator:元素之间的分隔符 一般用,【可选】

close:代码关闭符号 ) 【可选】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/492282.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【P3】JMeter HTTP 接口设计

一、简答 HTTP 接口设计 HTTP请求默认值&#xff1a; 配置 http 请求的默认值&#xff0c;比如协议、主机、端口 HTTP信息头管理器&#xff1a; 配置 http 请求的头部参数 HTTP请求&#xff1a; 用于和业务交互 查看结果树&#xff1a; 用于结果展示 二、准备工作 慕慕生…

嵌入式基础测试手册——基于NXP iMX6ULL开发板(4)

前 言 本文档适用开发环境: Windows开发环境:Windows 7 64bit、Windows 10 64bit 虚拟机:VMware15.1.0 Linux开发环境:Ubuntu18.04.4 64bit U-Boot:U-Boot-2020.04 Kernel:Linux-5.4.70 Linux SDK:5.4.70_2.3.0 基于测试板卡:创龙科技TLIMX6U-EVM是一款基于NXP…

数字化供电所业务融合贯通建设方案(ppt可编辑)

本资料来源公开网络&#xff0c;仅供个人学习&#xff0c;请勿商用&#xff0c;如有侵权请联系删除。 1、供电所现状分析 2、供电所数字化转型重点建设要素 三、建设原则 以“数字管理、提质增效”为重点&#xff0c;充分利用“云大物移智”技术&#xff0c;推动人员、设备、…

IDEA2022版教程下(快键键总结、Debug断点调试总结、22版本idea创建各种工程、关联数据库、常用插件)

8.快捷键的使用 8.1 常用快捷键 1 通用型&#xff08;复制&#xff0c;黏贴&#xff0c;剪贴…&#xff09; 说明快捷键复制代码-copyctrl c粘贴-pastectrl v剪切-cutctrl x撤销-undoctrl z反撤销-redoctrl shift z保存-save allctrl s全选-select allctrl a 2 提高…

【C++学习】文件操作

程序运行时产生的数据都属于临时数据&#xff0c;程序一旦运行结束都会被释放。 通过文件可以将数据持久化。 C中对文件操作要包含头文件 <fstream> 文本类型分为两种&#xff1a; 1.文本文件 ---文件以文本的ASCII码形式存在计算机中 2.二进制文件---文件以文本…

低代码,一招制敌,解决职场人的的办公难题

“站在巨人的肩膀上让你事半功倍”&#xff0c;本文阐释如何使用低代码工具成倍提高生产力&#xff0c;不管是个人还是企业&#xff0c;值得一看&#xff0c;都将受益。 作为一个卑微的打工人&#xff0c;以下任何一个场景都会让我头皮发麻&#xff1a; 领导要你30分钟内汇总…

Excel高频 (IF,Countif,Sum,rank,max,min) 函数使用教程

工作中经常会用到IF判断&#xff0c;COUNTIF按条件统计个数&#xff0c;SUM求和&#xff0c;RANK排名次&#xff0c;MAX求最大,MIN求最小&#xff0c;AVERAGE求平均等函数&#xff0c;读书屋办公教程网将通过这篇文章采用图文结合的形式详细讲解Excel这几个函数的用法。 一、 判…

2023 年 3 月青少年机器人技术等级考试理论综合试卷(二级)

2023 年 3 月青少年机器人技术等级考试理论综合试卷&#xff08;二级&#xff09; 一、单选题(共 30 题&#xff0c;共 60 分) 1.关于后轮驱动车说法正确的是&#xff1f;&#xff08; &#xff09; A. 发动机放在车的后部 B.起步加速比前轮驱动车更好 C.传动效率比前轮驱动车高…

iview-admin首页的图表数据渲染问题

iview-admin的首页有几个图表&#xff0c;应该是作者自己封装的&#xff0c;有个问题是在mounted时&#xff0c;从后台获取数据&#xff0c;应该把图表根据数据重新渲染一下。 <chart-bar id"myChart" style"height: 260px;" :value"barData"…

操作系统基本原理

目录 第二章、操作系统基本原理1、操作系统概述2、进程管理2.1、进程的状态2.2、前趋图2.3、进程的同步与互斥2.4、PV操作2.5、PV操作题目2.6、PV操作与前驱图2.7、死锁问题2.8、死锁的预防与避免&#xff08;银行家算法&#xff09; 3、存储管理3.1、分区存储组织3.2、页式存储…

vue如何将图片转换为webp并前端展示

1. 首先把图片转换为webp格式 1.1 可以进入cmd后&#xff0c;pip安装pillow pip install Pillow --trusted-host mirrors.cloud.tencent.com1.2 save为webp格式&#xff0c;即可得到webp格式图片 ... from PIL import Image img Image.open(background1.jpeg).convert(RGB…

干货分享|一款让企业知识管理变得简单高效的工具软件

互联网发展到下半场&#xff0c;很多企业都开始进行数字化转型&#xff0c;在这个过程中&#xff0c;很多企业都忽视了极为重要的一点——企业的知识管理。如今信息化的时代&#xff0c;可以说企业的知识管理是引领企业数字化转型、进行创新的关键。 企业知识管理的实质就是对…

后端Springboot框架搭建APi接口开发(第三章末)

前两章节讲述了如何通过APi接口实现对数据库的查询操作 这章主要讲述&#xff0c;Stringboot对数据库数据的查询、新增、修改、删除操作 第一节&#xff1a;数据库查询 首先编写UserMapper.xml。定义SQl语句 文件结构&#xff1a;demo\src\main\java\com\example\demo\mapp…

蓝牙耳机什么牌子的好用?测评员分享目前最值得入手的蓝牙耳机

蓝牙耳机的出现让我们日常生活更加便利&#xff0c;与有线耳机相比少了束缚&#xff0c;而随着蓝牙耳机市场的成熟&#xff0c;涌现了超多品牌&#xff0c;让大家不知道蓝牙耳机什么牌子的好用&#xff0c;我这几年已经测评过50多款蓝牙耳机&#xff0c;今天将要分享目前最值得…

【类和对象】(上)

系列文章目录 文章目录 系列文章目录&#x1f451; 前言&#x1f451; 一、什么是类&#xff0c;什么是对象&#x1f451; 二、类的引入&#x1f451; 三、类的定义&#x1f451;三、1.类的两种定义方式&#xff1a; &#x1f451; 四、类的内存计算&#x1f451;五、this指针&…

Flutter学习之旅 - 页面布局Padding、Column、Flex、Expanded

文章目录 Padding线性布局组件(Column和Row)水平布局组件(Row)垂直布局组件(Column) 弹性布局(Flex&Expanded)ExpandedFlex 达到父元素的尺寸 Padding class MyHomePage extends StatelessWidget {const MyHomePage({Key? key}) : super(key: key);overrideWidget build(…

ATA-2000系列高压放大器介绍

ATA-2000系列是一款理想的可放大交、直流信号的高压放大器。最大差分输出1600Vp-p(800Vp)高压&#xff0c;可以驱动高压型负载。电压增益数控可调&#xff0c;一键保存常用设置&#xff0c;为您提供了方便简洁的操作选择&#xff0c;同时双通道高压放大器输出还可同步调节&…

FastJson序列化导致的 “$ref“

前言&#xff1a; 刚转后端没多久&#xff0c;在通过RPC调用其他组的服务的时候&#xff0c;其他组对接的同学说&#xff0c;你的入参是有问题的&#xff0c;然后他把入参发我&#xff0c;类似于下面的 json&#xff1a; {"addressMO": {"roomNumber": &…

795. 前缀和(C++和Python3)——2023.5.5打卡

文章目录 QuestionIdeasCode Question 输入一个长度为 n 的整数序列。 接下来再输入 m 个询问&#xff0c;每个询问输入一对 l,r 。 对于每个询问&#xff0c;输出原序列中从第 l 个数到第 r 个数的和。 输入格式 第一行包含两个整数 n 和 m 。 第二行包含 n 个整数&#…

哪种类型蓝牙耳机佩戴最舒服?公认佩戴舒适度高的蓝牙耳机

随着都市人生活水准的提高&#xff0c;人们开始享受起生活&#xff0c;观察身边的事物&#xff0c;佩戴蓝牙耳机能够满足自身基本通勤需求&#xff0c;现阶段不少蓝牙耳机质量越来越好&#xff0c;并且在功能、体验、技术上都具有相当的优势&#xff0c;性价比极高&#xff0c;…