首页 > 其他分享 >手把手教你搭建Mybatis框架

手把手教你搭建Mybatis框架

时间:2024-07-20 17:00:27浏览次数:17  
标签:xml String 手把手 public 创建 Mybatis id 搭建

目录

Mybatis概述

Mybatis环境搭建

① 在数据库里创建一张表

② 在maven项目中创建一个实体类

③ 导入所需jar包 

④ 创建Mybatis核心配置文件

⑤ 定义接口

⑥ 创建sql映射文件

⑦ 测试Mybatis

MybatisX插件


Mybatis概述

 •  Mybatis原是apache的一个开源项目,起初叫ibatis,2010年迁移至谷歌并改名为Mybatis

 •  Mybatis是一款持久层框架,避免了几乎所有的JDBC代码手动设置参数以及手动获取结果集的操作,将基本的JDBC常用接口进行了封装,简化了操作且使用起来更加方便。

 •  Mybatis使用xml或注解的方式,可以将数据库记录映射到Java对象中,是一种ORM实现,即对象关系映射Object Relation Mapping。

 •  Mybatis支持动态sql以及数据缓存。

Mybatis环境搭建

▐ Mybatis官方网址

mybatis – MyBatis 3 | 简介icon-default.png?t=N7T8https://mybatis.org/mybatis-3/zh_CN/index.html


① 在数据库里创建一张表

➱ 首先我们需要在mysql数据库里创建一张表,以便后续的测试.

   -- 新创建一个数据库(ssmdb)
   CREATE DATABASE ssmdb CHARSET utf8
   -- 创建一张表(admin)
   CREATE TABLE admin(
     id INT PRIMARY KEY AUTO_INCREMENT,
     account VARCHAR(20) UNIQUE,
     PASSWORD VARCHAR(50) NOT NULL,
   gender CHAR(1)
   )

➱ 创建好之后先在表中添加一组数据,然后数据库的准备工作就完成了.

② 在maven项目中创建一个实体类

这里我们需要先创建一个maven项目,然后创建一个类(Admin),类中的属性和数据库保持一致(id, account, password, gender),然后生成get和set方法,且这里必须要使用工具生成,不能自定义方法名,否则框架底层无法识别!

public class Admin {
    private int id;
    private String account;
    private String password;
    private String gender;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    @Override
    public String toString() {
        return "Admin{" +
                "id=" + id +
                ", account='" + account + '\'' +
                ", password='" + password + '\'' +
                ", gender='" + gender + '\'' +
                '}';
    }
}

③ 导入所需jar包 

➱ 这里我们需要在pom.xml文件中导入两个jar包,分别是Mybatis jar包Mysql数据库驱动包

这一步相信有些小伙伴们有个疑问:这里为什么还要导入mysql的驱动包呢?

文章开始概述提到,Mybatis只是对JDBC的一些方法进行了封装,底层连接数据库最终实现还是JDBC,Mybatis只是在上层进行了包装,所以mysql驱动包依然需要导入。

        <!--  mybatis-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.2</version>
        </dependency>

        <!--  mysql-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.16</version>
        </dependency>

④ 创建Mybatis核心配置文件

在resources目录下创建一个xml文件(mybatis.xml),如图所示配置即可.

这里的mappers标签需要等到第6步完成后添加,即图片的第17~19行代码.

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="" />
                <property name="url" value="" />
                <property name="username" value="" />
                <property name="password" value=""/>
            </dataSource>
        </environment>
    </environments>
</configuration>

⑤ 定义接口

创建一个dao目录,并创建一个接口(interface),在接口中写一个抽象方法,这里比如我们需要通过id来查询管理员对象信息(findAdminById)

接口定义好之后,那么我们的查询sql在哪里写呢?

使用Mybaits框架之后,我们的sql就不写在Java代码里面了,我们会将sql语句抽取到一个xml文件中,这样维护起来更加方便,所以下一步就需要创建sql映射文件了。

⑥ 创建sql映射文件

在resources目录下再创建一个mappers目录,来写我们的映射文件,然后创建一个.xml的sql映射文件(AdminMapper.xml).

在<mapper namespace>标签中添加接口地址,通过select标签来查询数据,且标签中的id属性要与接口中方法名相同,parametrTeype指参数类型,resultType指返回值类型。

     <?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="接口地址">
     <!--   定义sql语句-->
     </mapper>

完成后还需要在mybatis.xml核心配置文件中配置.

⑦ 测试Mybatis

        //读取配置文件
        Reader reader = Resources.getResourceAsReader("mybatis.xml");
        //创建SqlSessionFactory
        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
        //创建SqlSession
        SqlSession sqlSession =sessionFactory.openSession();
        //为接口创建一个代理对象
        AdminDao adminDao = sqlSession.getMapper(AdminDao.class);
        //调用自己的方法
        Admin admin = adminDao.findAdminById(1);
        System.out.println(admin);
        //关闭与数据库的会话对象
        sqlSession.close();

 查询成功!

MybatisX插件

由于xml是一个独立的文件,当我们写代码或地址出错时工具不能检测出来,所以这里给大家推荐一个很好用的插件MybatisX,它可以对一些语法进行检测,例如接口的名字写错时会提示接口找不到,并且点击小鸟图标可以在接口和定义sql的xml文件之间切换。

安装流程:在Settings中找到Plugins,搜索MybatisX安装即可。




 本次的分享就到此为止了,希望我的分享能给您带来帮助,创作不易也欢迎大家三连支持,你们的点赞就是博主更新最大的动力!如有不同意见,欢迎评论区积极讨论交流,让我们一起学习进步!有相关问题也可以私信博主,评论区和私信都会认真查看的,我们下次再见

海漫浩浩,我亦苦作舟!大家一起学习,一起进步!  

本篇文章旨在如何搭建Mybatis框架, 对于一些代码和配置没有做过多解读,小白可能存在些许疑惑,Don' t  worry!下一篇文章会对mybatis配置进行详细解读,大家敬请期待~~

Mybatis系列持续创造和更新中...

标签:xml,String,手把手,public,创建,Mybatis,id,搭建
From: https://blog.csdn.net/2301_79263365/article/details/140454624

相关文章

  • Mybatis配置代码解读(事务管理与连接池)
    目录配置代码解读事务管理方式数据库连接池 测试代码解读SqlSessionFactorySqlSession接口的代理对象▐ 前言在上一篇文章 手把手教你搭建Mybatis框架-CSDN博客 中分享了如何搭建Mybatis框架,但没有对一些配置文件和语法做出详细解读,刚开始学习的小白们可能会有......
  • 【开源分享】好用的在线客服系统|php在线客服系统源码 带搭建教程
    源码简介即时聊天:提供实时文本聊天功能,允许客服与客户进行即时互动,快速解答疑问或提供帮助。自动回复与机器人客服:利用AI技术实现自动回复常见问题,或配置智能机器人客服进行初步接待和筛选,减轻人工客服压力,提高响应速度。知识库管理:建立和维护产品知识库、FAQ等,方便客服人员快......
  • 详解Nacos集群搭建
    目录前言1.集群结构图 2.搭建集群2.1初始化数据库 2.2下载nacos 2.3配置Nacos2.4启动2.5nginx反向代理2.6优化前言在我们日常的开发当中,用的都是单点Nacos,这种模式,我们自己开发测试玩一玩还可以,但是到了企业的生产环境之下,你还这么玩的话,那肯定是要出......
  • JAVA面试框架篇(SSM和MyBatis)
    框架篇一.Spring1.Spring1.1Bean生命周期1.2Bean循环依赖(引用)说说spring中的循环引用构造方法出现了循环依赖怎么解决?1.3Bean线程安全问题问题:Spring中的Bean是线程安全的吗?1.4AOP(什么是AOP?)AOP:AspectOrientedProgramming面向切面编程应用场景(你们项目中有没有......
  • Mybatis学习笔记
    Mybatis入门Mybatis简介官网:https://mybatis.org/mybatis-3/zh/index.html入门程序查询user表中数据mapper接口packagecom.itheima.mapper;importcom.itheima.pojo.User;importorg.apache.ibatis.annotations.Mapper;importorg.apache.ibatis.annotations.Se......
  • Docker搭建BT-Tracker服务器贡献BT网络Tracker节点
    为畅享BT下载体验,(BT下载或做种)请添加Tracker:http://tracker.carlzeng.top:6969/announce长期自主自觉维护朗读全文Yourbrowserdoesnotsupporttheaudioelement.有什么用搭建BTTracker服务器,自建公共的BT网络Tracker节点为畅享更快BT下载体验,请给添加本站BTTrac......
  • 小白新手搭建个人网盘
    小白新手搭建个人网盘序云服务器ECS重置密码远程连接ECS实例安装OwnCloud安装Apache服务PHP运行环境NAS挂载挂载验证操作体验序阿里云文件存储NAS(ApsaraFileStorageNAS)是一个可大规模共享访问,弹性扩展的分布式文件系统。本文主要是介绍基于ECS挂载NAS实现个人网......
  • IDEA社区版搭建Spring工程(05-集成Shiro认证)
    官方文档WhatisApacheShiro?ApacheShiroisapowerfulandeasytouseJavasecurityframeworkthatoffersdevelopersanintuitiveyetcomprehensivesolutiontoauthentication,authorization,cryptography,andsessionmanagement.Inpracticalterms,itach......
  • 海外短剧系统搭建部署,全球短剧一键尽享
    今天我要通过分享亲身经历和大家来谈谈海外短剧市场到底好不好做?从去年九月份开始我就跟着风口进入了国内的短剧市场,短剧市场确实给我带来了丰厚的利益,随着短剧系统用户量的增加和活跃度的提升,逐渐实现了从免费到付费的商业模式转变。通过会员制度、广告分成、内容付费等多种......
  • mybatis 插入时 返回主键
    在MyBatis中,如果你希望在插入数据时返回主键值,可以通过在<insert>标签中使用useGeneratedKeys="true"属性和keyProperty属性来实现。useGeneratedKeys属性表示使用数据库生成的主键,而keyProperty属性则指定用来接收这个生成主键的属性名。以下是一个简单的例子:假设你有一个用户......