MyBatis基础理解教程,详细分步基础查询表数据练习(通俗易懂、实时更新)

2024-06-18 1541阅读

一、MyBatis是什么

MyBatis 是一个持久层框架,简化JDBC开发,它提供了一个从 Java 应用程序到 SQL 数据库的桥梁,用于数据的存储、检索和映射。MyBatis 支持基本的 SQL 操作、高级映射特性以及与 Maven 等构建工具的集成。

二、持久层是什么

负责将数据保存到数据库的那一层代码。

是JavaEE的三层架构:表现层、业务层、持久层。

三、框架又是什么

框架就是一个半成品软件,是一套可重用的、通用的、软件基础代码模型。

在框架的基础之上构建软件编写更加高效、规范、通用、可拓展。

四、MyBatis 的好处:

  1. SQL 灵活性:允许开发者编写自由的 SQL,适合复杂的查询。
  2. 性能优势:直接执行 SQL,通常性能更优。
  3. 易于上手:相对于全 ORM 框架,MyBatis 学习成本较低。
  4. 缓存机制:有效提高数据访问速度。
  5. 可扩展性:插件系统允许自定义扩展。

五、MyBatis 的坏处:

  1. 配置复杂性:需要手动编写和维护 XML 映射文件。
  2. SQL 维护:对于大型项目,SQL 语句分散在 XML 中可能导致维护困难。

六、练习:使用Mybatis查询user表中所有数据

最基础的简单练习,简单熟悉一下Mybatis

以下代码有点多,注释里有难点的相应解释

1.sql创建user表,添加数据

先创建一个数据库表,表名就叫Mybatis,一会就是要操作这张表

create database mybatis;
use mybatis;
drop table if exists tb_user;
create table tb_user(
	id int primary key auto_increment,
	username varchar(20),
	password varchar(20),
	gender char(1),
	addr varchar(30)
);
INSERT INTO tb_user VALUES (1, 'zhangsan', '123', '男', '北京');
INSERT INTO tb_user VALUES (2, '李四', '234', '女', '天津');
INSERT INTO tb_user VALUES (3, '王五', '11', '男', '西安');

MyBatis基础理解教程,详细分步基础查询表数据练习(通俗易懂、实时更新)

2.idea中创建模块,导入坐标

创建Model,在自动生成的pom.xml文件中加入以下坐标,完整代码如下: 


    4.0.0
    org.example
    mybatis-demo
    1.0-SNAPSHOT
    
        8
        8
        UTF-8
    
    
        
        
            org.mybatis
            mybatis
            3.5.5
        
        
        
            mysql
            mysql-connector-java
            5.1.46
        
        
        
            junit
            junit
            4.13
            test
        
        
        
            org.slf4j
            slf4j-api
            1.7.20
        
        
        
            ch.qos.logback
            logback-classic
            1.2.3
        
        
        
            ch.qos.logback
            logback-core
            1.2.3
        
    
3.编写 MyBatis 核心配置文件 -->替换连接信息 解决硬编码问题

创建mybatis-config文件

MyBatis基础理解教程,详细分步基础查询表数据练习(通俗易懂、实时更新)

官网提供的文件的实例代码,直接粘贴进去



    
        
            
            
                
                
                
                
                
            
        
    
    
        
        
        
    
4.编写 SQL映射文件-->统一管理sq|语句,解決硬编码问题

创建UserMapper.xml,sql表有的会暂时报错,没有影响,下面会提供解决方法,test报错是数据库软件的问题,也没有影响,不用管


        

    
        select * from tb_user;
    
5. 编码
                1.定义POJO类

(创建user类,getset、tostring方法)

MyBatis基础理解教程,详细分步基础查询表数据练习(通俗易懂、实时更新)

package com.yufei.pojo;
public class User {
    private Integer id;
    private String username;
    private String password;
    private String gender;
    private String addr;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    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;
    }
    public String getAddr() {
        return addr;
    }
    public void setAddr(String addr) {
        this.addr = addr;
    }
    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", gender='" + gender + '\'' +
                ", addr='" + addr + '\'' +
                '}';
    }
}

               234步在MybatisDemo类中编写

                2.加载核心配置文件,获取SqlSessionFactory对象
//1.加载Mybatis核心配置文件,获取SqlSessionFactory
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
                3.获取SqlSession对象,执行SQL语句
//2.获取SqlSession对象,用它来执行sql语句
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //3.执行sql
        List users = sqlSession.selectList("test.selectAll");
        System.out.println(users);
                4. 释放资源
 //4.释放资源
        sqlSession.close();
6.最后在resources中加入logback.xml配置文件

保存好了,用到直接复制粘贴


    
    
        
            [%level] %blue(%d{HH:mm:ss.SSS}) %cyan([%thread]) %boldGreen(%logger{15}) - %msg %n
        
    
    
        
    
    
    
        
    

全部编写完成的包,别有落下的,一共五个。

MyBatis基础理解教程,详细分步基础查询表数据练习(通俗易懂、实时更新)

运行,成功获取到数据库中的数据

MyBatis基础理解教程,详细分步基础查询表数据练习(通俗易懂、实时更新)

七、在IDEA中配置Mysql的数据库连接(sql文件报错的原因)

MyBatis基础理解教程,详细分步基础查询表数据练习(通俗易懂、实时更新)

MyBatis基础理解教程,详细分步基础查询表数据练习(通俗易懂、实时更新)

连接成功,在IDEA中就可以查看数据库!

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]