• SSM框架之MyBatis入门(Maven工程实现全查功能,快速入门,适合小白)


    JDBC与MyBatis

            众所周知,JDBC是java提供的接口Api,学习jdbc时,首先要掌握jdbc五大步骤:(1)加载驱动;(2)连接数据库;(3)执行sql语句,并返回结果;(4)处理结果;(5)倒序关闭数据库资源。

            JDBC是实现持久化,将数据用JAVA语言实现数据持久化,在编写过程中,我们大多数会采用MVC来实现,而在编写utils包和dao包时,会写下JDBC五大步骤,比较繁琐、不易维护,从而诞生了Hibernate框架,hibernate是封装了JDBC对象全自动持久化框架,使用起来有些缺陷,不太灵活,有时会遇到SQL语句硬伤害,为了便于开发,后又诞生了IBatis框架,经后不断迭代,成就了现在的MyBatis

            2010年由apache software foundation迁移到了google code,并且改名为MyBatis;2013年11月迁移到Github,所以我们下载jar时,需去Githup中下载。

            MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。

    MyBatis实现过程及思路

    上面提到了MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,我们这里先使用xml,后期再给大家写一篇关于注解的,我们大概了解MyBatis概念后,不需要深究MyBatis,能熟练运用SSM框架后,可以去看MyBatis源码,接下来,我们就可以以下手操作了。

    为了让大家快速掌握MyBatis,将整个过程划分为五步。

    1.创建Maven工程,编写Maven依赖库坐标。

    2.配置mybatis-config.xml文件。

    3.配置项目mapper.xml文件。

    4.编写代码逻辑。

    5.进行Dome测试。

    (一)创建Maven工程,编写Maven依赖库坐标

    打开idea工具,点击左上角file-new-project,并选择maven。如图所示:

            接下来选择next执行下一步,给模块起个名字,并点击finish完成。严格按照JAVA命名规则,字母、数字、下划线,不允许数字、下换线开头,不允许以关键字命名,以驼峰形式,尽量命名精短有意义。(如有资历高深者,可探究技术问题,勿怪啰嗦,此博客只针对换行或小白)

    创建完项目后,选择该项目下pom.xml,idea会自动弹开。

    打开pom.xml后,配置项目中所需要的依赖。

    <dependencies></dependencies>标签使用来导入相关的依赖,在开发中避免不了对功能进行测试,首先先导入JUnit,其实Mybatis,只需要两个依赖(1)mybatis;(2)mysql-connector-java即可。在这里我会使用Test测试单元,首先导入下JUnit,在dependencies标签内加入:

    编写一个mybatis案例,必须使用mysql-connector-java驱动包

    最后一个导入mybatis依赖,第一步就完成了:

    写完依赖后,切莫猴急写下一步,一点要点击右上角的maven刷新图标,否则无效。

            点击后图标即可消失,若开发中发现没有com.mysql,证明驱动包没有生效,可检查,pom.xml右上角的刷新图标是否存在,这里很多学员们容易忽略。

    (二)配置mybatis-config.xml文件

            第一步完成后,在左边项目栏中打开src-main文件,选中resources文件,右击新建一个file文件。

    打开百度搜索:mybatis中文,或者直接进入:入门_MyBatis中文网

            找到下图所示,将文件命名为mybatis-config.xml,注意此命名是推荐使用,不是强制使用,可随心命名。 

            编写整个第二个步骤时,不需要去记,更不需要去手敲毫无意义,打开文档复制即可。将红框中所有代码复制下来,粘贴到resources-mybatis-config.xml文件中。

            看到圈起来的信息,好多小伙伴们就能理解它是干什么的了,没错就是用来配置数据库基本信息的。

    如果maven配置好的话,会有提示的,相反则依赖有问题。

    注意 5.7之后的版本必须要加上useSSL=false,注意 密码是自己的数据库密码

    再往下,我们会看到映射文件信息,先不要管它,完成第三步后再来理会。

    (三)配置项目mapper.xml文件

            第三步类似与第二步,不需要手动敲,从官方文档中复制即可,首先,还是在resources文件中创建项目mapper.xml。如图所示:

    创建好文件后,打开文档找到如图所示:

     将代码复制到xxxmapper.xml文件中

     完成后,回到第二步打开mybatis-config.xml文件,找到配置映射部分

             将红框代码删除换成xxmapper.xml文件,由于我们的xxmapper.xml文件在resources文件中,我们直接写即可。

    第二步完成

            回到 xxmapper.xml文件,我们发现sql语句在文档里,意味着我们不需要再,写在代码中了方便了维护迭代。

     

    先创建第四步实体类后,回来修改下属性即可。

    (四)编写代码逻辑

    在JAVA目录下创建一个实体类,属性对应数据库字段名,提供get and set、toString。

            创建完实体类,回到第三步,命名空间随便起个名字,id随便起个名字不能重复,resultType改成实体类全路径。

     做完以上操作后第三步结束。

            回到第四步,在JAVA目录下创建utils类,其实此时,创建一个测试类,就可以结束了(这里,我加上utils包和mapper包,为编写mybatis-高级埋下伏笔)

     创建好后,打开文档找到下图所示。

     老步骤,复制到方法中

     将路径换成mybatis-config.xml文件路径

     完整代码

    1. package com.yh.utils;
    2. import org.apache.ibatis.io.Resources;
    3. import org.apache.ibatis.session.SqlSession;
    4. import org.apache.ibatis.session.SqlSessionFactory;
    5. import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    6. import java.io.InputStream;
    7. /**
    8. * @author 王永辉
    9. * @version v1.1.0
    10. * @description
    11. * @date 2022-07−04
    12. **/
    13. public class MusicUtils {
    14. //创建一个有返方法
    15. public static SqlSession getSqlSession () throws Exception {
    16. String resource = "mybatis-config.xml";
    17. InputStream inputStream = Resources.getResourceAsStream(resource);
    18. SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
    19. SqlSession sqlSession = sqlSessionFactory.openSession();
    20. return sqlSession;
    21. }
    22. }

    接下来,创建mapper,mapper如同JDBC用到的dao。

    这一步懂点JDBC的都会,不在解释

     接下来创建实现类(埋下伏笔,后面会讲到不写接口实现类)

     (五)进行Dome测试

            打开test文件创建测试类(加上JUnit就是想让大家养成一个好习惯,实现一个功能,写一个测试类)

     

  • 相关阅读:
    生成式 AI 落地制造业的关键是什么?亚马逊云科技给出答案
    从赋能中心到科技成果转化基地:百度飞桨的人工智能探索之路
    [论文笔记] Scaling Laws for Neural Language Models
    Go for循环中的defer
    《MySQL实战45讲》——学习笔记04-05 “深入浅出索引、最左前缀原则、索引下推优化“
    3 任务3 使用趋动云部署自己的stable-diffusion
    ContentProvider与ContentResolver
    【编程题】【Scratch二级】2021.03 两座对称的山峰
    响应式编程-基本介绍
    【自定义类型】--- 位段、枚举、联合
  • 原文地址:https://blog.csdn.net/wyh_File/article/details/125607454