Mybatis框架(入门)--1

目录

3.1 Mybatis介绍3.1.1 需求分析

3.1.2 Mybatis介绍

3.1.3 Mybatis源码 

3.1.4 Mybatis特点 

3.2 Mybatis 环境搭建3.2.1 准备数据库

 3.2.2 创建项目mybatis_demo1

 3.2.3 导入jar包文件

3.2.4 数据映射

 3.3 Mybatis 入门案例

3.4 Mybatis常见报错解析3.4.1 jar包添加异常

3.4.2 配置文件名称异常 ​

3.4.3 数据源配置异常

3.4.4 映射文件加载异常 

3.4.5 接口与映射文件不匹配报错 ​


3.1 Mybatis介绍
3.1.1 需求分析

 //利用jdbc,完成新增的功能
    private static void method2() throws Exception{
        //1,注册驱动
        Class.forName("com.mysql.jdbc.Driver");
        //2,获取数据库的连接
        //数据传输协议   数据库的ip 端口号 数据库名
        String url = "jdbc:mysql://localhost:3306/cgb2107";
        Connection c = DriverManager.getConnection(url,"root","root");
        //3,获取传输器
        Statement s = c.createStatement();
        //4,利用传输器执行  增删改的SQL
        //executeUpdate()用来执行增删改的SQL,只返回影响行数
        int rows = s.executeUpdate(
                "INSERT INTO emp(ename,job) VALUES('rose','副总')");
        //5,释放资源
        //r.close();//结果集
        s.close();//传输器
        c.close();//连接
    }

说明: 传统的JDBC代码需要繁琐的API. 开发效率低. 代码重复冗余.

3.1.2 Mybatis介绍

官网地址: https://mybatis.org/mybatis-3/zh/index.html

MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。
MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。
MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。
2013年11月迁移到Github。
 

3.1.3 Mybatis源码 

mybatis源码

3.1.4 Mybatis特点 

简单易学:本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件+配置几个sql映射文件易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。
灵活:mybatis不会对应用程序或者数据库的现有设计强加任何影响。
sql写在xml里,便于统一管理和优化。通过sql语句可以满足操作数据库的所有需求。
解除sql与程序代码的耦合:通过提供DAO层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。
提供映射标签,支持对象与数据库的orm字段关系映射
提供对象关系映射标签,支持对象关系组建维护
提供xml标签,支持编写动态sql.

3.2 Mybatis 环境搭建
3.2.1 准备数据库

说明: 利用sqlYog工具导入数据库

Mybatis框架(入门)--1_第1张图片

2. 导入效果

Mybatis框架(入门)--1_第2张图片

 3.2.2 创建项目mybatis_demo1

Mybatis框架(入门)--1_第3张图片

 3.2.3 导入jar包文件

在pom.xml文件中导入以下jar包

 
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            2.2.0
        

        
        
            mysql
            mysql-connector-java
        

        
        
            org.projectlombok
            lombok
        

3.2.4 数据映射

持久层
数据表 用户的数据信息, 持久化到本地磁盘中
.POJO 程序通过对象封装数据信息.
映射关系
映射关系 一个POJO对象要求映射一张数据表
对象名称 映射数据表表名.
对象的属性 映射数据表中的字段。

表结构:

Mybatis框架(入门)--1_第4张图片

 3.3 Mybatis 入门案例

package com.jt;

import com.jt.mapper.UserMapper;
import com.jt.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 org.junit.jupiter.api.Test;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

public class TestMybatis {
    /**
     * 规则说明:
     *      1.创建SqlSessionFactory 工厂模式
     *      2.获取SqlSession 理解:数据库链接+传输器对象
     *      3.获取Mapper接口对象
     *      4.完成业务调用
     *      5.关闭链接
     */
    @Test
    public void demo1() throws IOException {
        //1.1 指定配置文件的根目录
        String resource = "mybatis-config.xml";
        //1.2 通过IO流 加载配置文件 org.apache.ibatis.io;包路径
        InputStream inputStream = Resources.getResourceAsStream(resource);
        //1.3 实例化工厂对象
        SqlSessionFactory sqlSessionFactory =
                        new SqlSessionFactoryBuilder().build(inputStream);
        //2 获取SqlSession 通过sqlSession可以直接操作数据库
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //3 获取接口对象
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        //4.调用接口方法
        List userList = userMapper.findAll();
        System.out.println(userList);
        //5.暂时手动关闭链接
        sqlSession.close();
    }
}

3.4 Mybatis常见报错解析
3.4.1 jar包添加异常

说明: 在dependencies 根标签中添加jar包

  
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            2.2.0
        

        
        
            mysql
            mysql-connector-java
        

        
        
            org.projectlombok
            lombok
        

Mybatis框架(入门)--1_第5张图片

3.4.2 配置文件名称异常 Mybatis框架(入门)--1_第6张图片

3.4.3 数据源配置异常

数据版本要求: Mysql5.5以上版本 mariaDB 10以上的版本
驱动异常:Mybatis框架(入门)--1_第7张图片

3.4.4 映射文件加载异常 

Mybatis框架(入门)--1_第8张图片

 Mybatis框架(入门)--1_第9张图片

3.4.5 接口与映射文件不匹配报错 Mybatis框架(入门)--1_第10张图片

Mybatis框架(入门)--1_第11张图片

你可能感兴趣的:(MyBatis,java,intellij-idea,开发语言)