目录

  • 1 2023广东省精品课程评审申报章节
    • 1.1 申报书
    • 1.2 总结报告
    • 1.3 课程数据信息表
    • 1.4 自评报告
    • 1.5 专家组评语
    • 1.6 相关佐证
  • 2 2020校精品课程评审申报章节
    • 2.1 验收材料总文档
    • 2.2 精品开放课程申报书
    • 2.3 精品开放课程结题验收报告书
    • 2.4 精品开放课程结题验收总结报告
    • 2.5 精品开放课程结题验收项目汇总表
    • 2.6 佐证1.课程基础与建设目标
      • 2.6.1 校本教材
      • 2.6.2 论文
    • 2.7 佐证2.课程设计
      • 2.7.1 课程定位
      • 2.7.2 建设方式
    • 2.8 佐证3.更新与共享
      • 2.8.1 吸引力
      • 2.8.2 内容更新
      • 2.8.3 媒体应用
    • 2.9 佐证4.教学团队
      • 2.9.1 负责人
      • 2.9.2 教学队伍
    • 2.10 佐证5.教学资源
      • 2.10.1 基本资源
        • 2.10.1.1 单元设计
        • 2.10.1.2 课件PPT
        • 2.10.1.3 授课视频
      • 2.10.2 拓展资源
      • 2.10.3 资源创新
    • 2.11 佐证6.课程特色
      • 2.11.1 内容
      • 2.11.2 教学组织
      • 2.11.3 教学模式
    • 2.12 佐证7.目标实现
      • 2.12.1 考评
      • 2.12.2 能学
      • 2.12.3 辅教
  • 3 第一章 Spring 简介
    • 3.1 思政教育
    • 3.2 Sring 概述
    • 3.3 Spring 优点
    • 3.4 Spring 框架结构
    • 3.5 Spring 框架特征
    • 3.6 Spring 入门程序
    • 3.7 Spring 依赖注入
    • 3.8 本章小结
    • 3.9 习题1
  • 4 第二章 Spring中bean的配置和实例化
    • 4.1 思政教育
    • 4.2 Spring中bean的配置
    • 4.3 Bean的实例化
    • 4.4 bean的作用域
    • 4.5 Bean的生命周期
    • 4.6 Bean的装配方式
    • 4.7 应用案例:Annotation注解
    • 4.8 本章小结
    • 4.9 习题2
  • 5 第三章  Spring面向切面编程AOP
    • 5.1 Spring  AOP的基本概念
    • 5.2 通知类型介绍
    • 5.3 JDK动态代理
    • 5.4 Spring AOP
    • 5.5 应用案例:AspectJ开发
    • 5.6 本章小结
    • 5.7 习题3
  • 6 第四章  Mybatis原理
    • 6.1 基本内容
    • 6.2 JDBC的问题
    • 6.3 Hibernate的问题
    • 6.4 MyBatis优势
    • 6.5 MyBatis的工作原理
    • 6.6 MyBatis的数据库准备_MySQL
    • 6.7 应用案例:MyBatis入门程序
    • 6.8 Mybatis数据库基本操作示例
    • 6.9 习题4
  • 7 第五章  Mybatis反向工程
    • 7.1 动态SQL
    • 7.2 应用案例: Mybatis反向(逆向)工程
    • 7.3 Mybatis反向(逆向)工程代码解读
    • 7.4 习题5
  • 8 第六章  Spring、 Mybatis Mapper接口编程
    • 8.1 Mybatis反向工程生成的接口
    • 8.2 应用案例:SpringMVC、 Mybatis  Mapper接口编程
    • 8.3 习题6
  • 9 SpringMVC
    • 9.1 SpringMVC框架
    • 9.2 应用案例:SpringMVC
    • 9.3 应用案例:SpringMVC注解开发
    • 9.4 习题7
  • 10 SpringMVC数据绑定
    • 10.1 SpringMvc的数据绑定流程
    • 10.2 应用案例:SpringMVC参数绑定
    • 10.3 SpringMVC参数绑定数组和集合
    • 10.4 案例SpringMVC参数绑定数组
    • 10.5 习题8
  • 11 第九章、SpringMVC拦截器
    • 11.1 拦截器的实现
    • 11.2 拦截器的配置
    • 11.3 应用案例
    • 11.4 习题9
  • 12 第十章 文件上传
    • 12.1 文件上传原理
    • 12.2 创建工程
    • 12.3 应用案例
    • 12.4 习题10
  • 13 第十一章、课程资源管理系统
    • 13.1 系统需求
    • 13.2 开发环境
    • 13.3 数据库设计
    • 13.4 项目程序设计
  • 14 第十二章 职场沟通技能
    • 14.1 职场沟通原则与理念
  • 15 第十三章 如何与上司、同事沟通
    • 15.1 如何与上司、同事沟通
  • 16 第十四章 软件开发团队建设
    • 16.1 企业级应用开发团队组织技巧培训
Mybatis反向工程生成的接口

web开发的工作传统的DAO开发方式可以实现所需功能,但是采用这种方式在实现类中会出现大量的重复代码。

相交而言,mvc是比较常用的开发模式,这种开发模式通常将代码分成三层(控制层、业务逻辑层、数据库访问层),无论是较早的SSH、SSM、还是spring boot框架,都提倡面向这种面向接口编程,这样可以降低层与层之间的耦合。这已经成为了一种范式,大家都去遵守,写着写着就有点像八股文。在利用面向对象的语言进行大型系统的设计需要考虑各个对象之间的交互的问题,接口本质是一种规范和约束,反映了系统设计者对系统的抽象理解。当设计和实现分离的时候,面向接口编程是一种解决问题的很好方式

6.1 Mybatis反向工程生成的接口

Mybatis反向工程生成的XXXmapper接口通常具有以下功能的方法,正是这些方法,让我们可以非常方便的使用Spring配合Mybits 进行程序开发。

1、查询方法:

一般来说只有两个查询方法,第二个查询方法只会在特定条件下出现。

方法selectByExample(TbItemDescExample  example)

返回值:List<TbItemDesc>

作用:通过特定限制条件查询信息,example用于生成一个Criteria对象来设置查询条件

方法selectByPrimaryKey(Long  itemId)

返回值:TbItemDesc

作用:通过主键查询

方法selectByExampleWithBLOBs(TbItemDescExample  example)

返回值:List<TbItemDesc>

作用:根据特定限制条件查询,返回值包含类型为text的列(默认查询并不会返回该列的信息)。example用于生成一个Criteria对象来设置查询条件,具体使用方法和方法selectByExample是一样的,唯一的不同就是返回值是所有列。

2、插入方法:

插入很简单,只有两个方法,方法传入的参数都是POJO,返回值都是int类型的受影响的行数。不同之处在于insert会插入所有的信息,如果传入的对象某一属性为空,则插入空,如果数据库中设置了默认值,默认值就失效了。而insertSelective不同,他只会插入含有数据的属性,对于为空的属性,不予以处理,这样的话如果数据库中设置有默认值,就不会被空值覆盖了。

3、删除方法:

方法1:根据特定限制条件删除,具体使用的方法和查询的时候是一样的。

方法2:根据主键删除。

4、更新方法:

更新在这里有6个方法,可以分为2组:

第一组:根据特定限制条件进行更新参数有两个

参数1:TbItemDesc record ->要更新的对象

  参数2:TbItemDescExample example ->生成一个Criteria对象来设置查询条件

方法updateByExample(TbItemDesc  record, TbItemDescExample example)作用:根据特定的限制条件进行更新除了text类型(数据库)的所有列。

方法updateByExampleSelective(TbItemDesc record, TbItemDescExample example)

作用:根据特定的限制条件更新所有设置了值的列。

方法updateByExampleWithBLOBs(TbItemDesc record, TbItemDescExample example)

作用:根据特定的限制条件进行更新所有列。

第二组:根据ID进行更新有一个参数

  参数:TbItemDesc  record  ->  要更新的对象

方法updateByPrimaryKey(TbItemDesc  record)

作用:通过ID更新除了text类型(数据库)的所有列

方法updateByPrimaryKeySelective(TbItemDesc  record)

作用:通过ID更新所有设置了值的列。

方法updateByPrimaryKeyWithBLOBs(TbItemDesc  record)

作用:通过ID进行更新所有列。

5、计数方法:

计数就一个方法,根据限制条件example计数。

以下是Mybatis反向工程自动生成的StudentMapper.java接口代码:我们的6.2小节的案例中Student业务类就是依据这个接口进行设计的。

package mapper;

import entity.Student;

import entity.StudentExample;

import java.util.List;

import org.apache.ibatis.annotations.Param;

public interface StudentMapper {

    int countByExample(StudentExample example);

    int deleteByExample(StudentExample example);

    int deleteByPrimaryKey(Integer stuid);

    int insert(Student record);

    int insertSelective(Student record);

    List<Student> selectByExample(StudentExample example);

    Student selectByPrimaryKey(Integer stuid);

    int updateByExampleSelective(@Param("record") Student record, @Param("example") StudentExample example);

    int updateByExample(@Param("record") Student record, @Param("example") StudentExample example);

    int updateByPrimaryKeySelective(Student record);

    int updateByPrimaryKey(Student record);

}