MyBatis简介及入门案例

简介: MyBatis简介及入门案例

一、MyBatis简介

MyBatis是一款优秀的持久层框架,用于简化JDBC开发


MyBatis本是Apache的一个开源项目iBatis,2021年这个项目由apache software foundation迁移到了google code,并且改名为MyBatis。2013年11月迁移到Github。


官网地址mybatis – MyBatis 3 | 简介

https://mybatis.org/mybatis-3/zh/index.html

持久层:负责将数据保存到数据库的那一层代码


JavaEE三层架构:表现层,业务层,持久层


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


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


JDBC缺点:


硬编码:1、注册驱动,获取连接        2、SQL语句


操作繁琐:1、手动设置参数        2、手动封装结果集


MyBatis简化,把硬编码用配置文件替代,操作繁琐用自动完成替代,Mybatis免除了几乎所有的JDBC代码以及设置和获取结果集的工作。

二、MyBatis入门案例

步骤:1、创建User表,添加数据

d176e4951d2842f7a6116fb499741258.png

2、创建模块,导入坐标

9600c61709ab4a7ea451caa2371647e1.png

pom.xml文件导入需要用到的依赖

be2c99568b454651bb00d70b47463e7d.png

d4c2f12401654a65843d1b6d9882f19e.png

3、编写MyBatis核心配置文件 --> 替换连接信息,解决硬编码问题

在mian文件夹里resources文件夹中新创建一个新的xml文件,在官网找到从XML中构建SqlSessionFactory的配置信息复制过来即可,修改对应的数据库连接信息,用户名和密码对应自己的数据库用户名和密码

6a885b4658724b96b9a84d788fefae87.png

4、编写SQL映射文件 --> 统一管理sql语句,解决硬编码问题

在resources文件夹里新创建一个SQL映射文件,也是在官网上找配置示例进行复制,修改相应的信息即可

e6e1323db8494d9bae5159fdfffb5dd7.png

在核心配置文件mybatis-config.xml中加载sql映射文件

129332db3ff640d9b80be62db701a3ca.png

5、编码:

       1、定义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 + '\'' +
                '}';
    }
}

       2、加载核心配置文件,获取SqlSessionFactory对象

       3、获取SqlSession对象,执行SQL语句

       4、释放资源

import com.itheima.pojo.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
/**
 * Mybatis 快速入门
 */
public class MyBatisDemo {
    public static void main(String[] args) throws IOException {
        //1、加载mybatis的核心配置文件,获取sqlSessionFactory
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        //2、获取SqlSession对象,用它来执行sql
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //3、执行sql
        List<User> users = sqlSession.selectList("com.itheima.mapper.UserMapper.selectAll");
        System.out.println(users);
        //4、释放资源
        sqlSession.close();
    }
}

执行结果:

2f7ac494a17f4f0bb78dc1774f7a64ad.png

目录
相关文章
|
2月前
|
SQL Java 数据库连接
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
MyBatis-Plus是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。本文讲解了最新版MP的使用教程,包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段等核心功能。
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
|
3月前
|
前端开发 Java Apache
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
本文详细讲解了如何整合Apache Shiro与Spring Boot项目,包括数据库准备、项目配置、实体类、Mapper、Service、Controller的创建和配置,以及Shiro的配置和使用。
615 1
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
|
3月前
|
缓存 Java 数据库连接
使用MyBatis缓存的简单案例
MyBatis 是一种流行的持久层框架,支持自定义 SQL 执行、映射及复杂查询。本文介绍了如何在 Spring Boot 项目中集成 MyBatis 并实现一级和二级缓存,以提高查询性能,减少数据库访问。通过具体的电商系统案例,详细讲解了项目搭建、缓存配置、实体类创建、Mapper 编写、Service 层实现及缓存测试等步骤。
|
3月前
|
SQL Java 数据库连接
Mybatis入门(select标签)
这篇文章介绍了Mybatis中`select`标签的基本用法及其相关属性,并通过示例展示了如何配置和执行SQL查询语句。
55 0
Mybatis入门(select标签)
|
5月前
|
Java 数据库连接 Spring
后端框架入门超详细 三部曲 Spring 、SpringMVC、Mybatis、SSM框架整合案例 【爆肝整理五万字】
文章是关于Spring、SpringMVC、Mybatis三个后端框架的超详细入门教程,包括基础知识讲解、代码案例及SSM框架整合的实战应用,旨在帮助读者全面理解并掌握这些框架的使用。
后端框架入门超详细 三部曲 Spring 、SpringMVC、Mybatis、SSM框架整合案例 【爆肝整理五万字】
|
5月前
|
SQL Java 数据库连接
Spring Boot联手MyBatis,打造开发利器:从入门到精通,实战教程带你飞越编程高峰!
【8月更文挑战第29天】Spring Boot与MyBatis分别是Java快速开发和持久层框架的优秀代表。本文通过整合Spring Boot与MyBatis,展示了如何在项目中添加相关依赖、配置数据源及MyBatis,并通过实战示例介绍了实体类、Mapper接口及Controller的创建过程。通过本文,你将学会如何利用这两款工具提高开发效率,实现数据的增删查改等复杂操作,为实际项目开发提供有力支持。
336 0
|
7月前
|
Java 关系型数据库 数据库连接
技术好文共享:第一讲mybatis入门知识
技术好文共享:第一讲mybatis入门知识
40 6
|
7月前
|
Java 关系型数据库 MySQL
Mybatis入门之在基于Springboot的框架下拿到MySQL中数据
Mybatis入门之在基于Springboot的框架下拿到MySQL中数据
57 4
|
7月前
|
SQL Java 数据库连接
2万字实操案例之在Springboot框架下基于注解用Mybatis开发实现基础操作MySQL之预编译SQL主键返回增删改查
2万字实操案例之在Springboot框架下基于注解用Mybatis开发实现基础操作MySQL之预编译SQL主键返回增删改查
92 2
|
7月前
|
Java 程序员
浅浅纪念花一个月完成Springboot+Mybatis+Springmvc+Vue2+elementUI的前后端交互入门项目
浅浅纪念花一个月完成Springboot+Mybatis+Springmvc+Vue2+elementUI的前后端交互入门项目
55 1