Java框架学习 | MyBatis

问题导向学习MyBatis

  1. 为什么要有MyBatis框架?

    1. 避免Java开发者直接使用 JDBC重复做数据库操作,同时更便捷地实现想要的数据库相关功能,让Java专注于开发业务。

  2. MyBatis框架如何实现该目的?

    1. MyBatis是半自动化持久层ORM框架,想要实现什么数据库操作都能够通过使用MyBatis这个工具高效的实现。

      1. Object Retional Mapping对象关系映射

    2. 开发者直接编辑Java代码调用对应的SQL语言,MyBatis通过传参的方式实现在数据库与Java间的交互。

    3. MyBatis相当于厨房中的各种工具,刀、锅和电饭煲等,能够帮助做饭者更高效地做完饭。

      1. MyBatis-Plus相当于是做饭者的私人助理,能够直接帮做饭者完成需要做的简单任务/数据库操作。

  3. MyBatis与Maven间有什么关系?

    1. Maven是Java项目构建和依赖管理的框架,其通过配置POM能够实现自动添加Jar包的功能,并且其能够存储到本地仓库,当多个Java项目同时使用同个jar包时,不需要反复下载只需要通过POM配置即可,方便并且提高了复用率。

    2. 同时,Maven有继承和聚合功能,继承能够帮助项目的扩展减少重复工作,聚合能够将好几个独立的项目从下至上的管理,统一版本号和增加通用的功能。

    3. 没有直接的关系。但能够使用Maven对MyBatis进行项目构建、打包和依赖管理。

MyBatis框架安装使用步骤

  1. 导入jar包

    1. 创建新maven帮助构建SSM框架

    2. 配置POM文件,导入:MySQL与Java连接包、MyBatis包和junit测试包

      1. 通过https://mvnrepository.com/搜索关键词选择相关版本的包;

      2. 复制相关gav坐标(唯一标识)导入POM文件;

      3. 2021.2的IDEA需要手动更新包导入;

  2. 在主方法mian的Java中创建相对应的mapper(映射)和pojo文件;

    1. pojo中创建类,定义对象、相关构造器和设置获取方法;

    2. mapper里根据pojo文件创建的类,创建相应的接口和方法;

  3. 在主方法mian的resources中的操作

    1. 在mapper映射文件中创建XML配置文件;

      1. 配置上mapper创建的接口中的方法名和pojo中类名;

      2. 根据接口信息配置相应信息

        1. 映射文件名与接口名一致;

        2. 映射文件namespace与接口全类名一致;

        3. 映射文件SQL的Id与接口的方法名一致。

        4. 撰写想要的SQL操作语句里的调用参数要对应;

    2. 创建mybatis-config.xml文件

    3. 配置数据源:数据库驱动、数据库连接地址、用户名、密码等;

    4. 同时写入mapper映射中创建的XML配置文件;

  4. 在test的java文件下创建相应Test类

    1. 创建输入流InputStream通过Resources.getResourceAsStream()方法获取mybatis-config.xml信息

    2. 创建SqlSessionFactory、Sqlsession对象和EmployeeMapper接口对象获取相应的SQL操作结果;

      1. 配置SqlSessionFactory:SqlSessionFactory是MyBatis的关键对象,负责创建SqlSession对象。SqlSessionFactory可以通过XML配置文件或者Java代码进行配置。

      2. 创建SqlSession对象:SqlSession是MyBatis与数据库交互的关键对象。SqlSession对象提供了数据库操作的API,包括查询、插入、更新和删除等操作。

    3. 并创建新的实例对象读取相应的SQL操作结果;

      1. 执行SQL语句:在SqlSession对象中调用相应的方法执行SQL语句。MyBatis会将SQL语句转换为相应的Java对象,方便使用。

      2. 返回结果:执行SQL语句后,MyBatis会将查询结果封装为Java对象,然后返回给调用方。

  5. 关闭SqlSession对象:最后,需要关闭SqlSession对象,释放资源。

你可能感兴趣的:(提问式学习Java知识,mybatis,java,学习)