栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Mybatis框架学习笔记(1)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Mybatis框架学习笔记(1)

官方中文文档–>https://mybatis.org/mybatis-3/zh/getting-started.html
或点击–>mybatis文档
mybatis3版本的源码–>https://github.com/mybatis/mybatis-3/releases
或点击–>mybatis3源码

文章目录
    • 1.什么是mybatis
    • 2.基础搭建使用
    • (1)添加相关maven依赖
    • (2)创建用户实体类User
    • (3)创建核心配置文件`mybatis-config.xml`
    • (4)创建持久层接口UserMapper
    • (5) 创建持久层映射配置文件`UserMapper.xml`
    • (6)去核心配置文件`mybatis-config.xml`配置`mapper`映射文件
    • (7)测试使用;这里几个步骤比较重要;
      • 7.1-->先创建用户对象
      • 7.2-->以字符流的方式读取核心配置文件`mybatis-config.xml`
      • 7.3-->创建SqlSessionFactory对象
      • 7.4-->创建SqlSession对象
      • 7.5-->得到UserMapper映射接口的代理对象
      • 7.6-->执行接口方法
      • 7.7-->提交事务
      • 7.8-->关闭sqlSession会话
  • MybatisX插件的简易安装

1.什么是mybatis

mybatis是个轻量级的持久层框架;简化了持久层的使用;它是由iBatis更名而来的.
基于Java的数据库交互框架;封装了很多基础功能,方便开发使用.

mybatis框架也被称为ORM框架
ORM(ORM Object Relational Mapping ) 即:对象关系映射;
即使用简单的 XML或注解来配置和映射原生信息,将接口和 Java的实体类POJO(Plain Old Java Objects,普通的 Java 对象)映射为数据库中的记录.

官方文档–>https://mybatis.org/mybatis-3/zh/getting-started.html

持久层是什么呢?
Dao (Data Access Objects) 数据访问对象 ;也就是负责项目中的JAVA实体类对象与数据库进行交互;
之前比较经典的MVC三层架构,就有它的一席之位;
MVC三层架构是啥呢?
M(Model):就是Dao层和实体类模型层;
V(View):就是视图层;即前端的展示层;
C(Controller):就是控制层,即对之前的servlet进行了封装;

使用mybatis框架的话;就不用大量地去写代码手动设置参数以及获取结果集;

例如,之前写某个项目时,写的dao层;没有封装的那种;
要写很多的参数,然后获取结果集时还得一个一个取出;

传统的jdbc编程;比如说一个根据ID查询学生信息的sql处理;

  • 首先要加载数据库驱动;
  • 然后创建并获取数据库链接;
  • 创建 preparedStatement 对象;
  • 拼写 sql 语句,进行预编译;;
  • 然后设置 sql 语句中的占位符的值;
  • 执行 sql 语句并获取结果;
  • 对 sql 执行结果进行解析处理;要把结果一个一个地存到实体类的对象中;
  • 最后释放资源;
2.基础搭建使用

先去数据库创建数据表吧,比较简单,仅作为基础搭建mybatis使用的;

-- 学习mybatis框架;
-- 创建数据库;
CREATE DATAbase IF NOT EXISTS day20211024_study_mybatis_db CHARSET utf8;
-- 创建用户表;
CREATE TABLE IF NOT EXISTS t_user(
    `id` INT PRIMARY KEY AUTO_INCREMENT COMMENT 'ID',
    `account` VARCHAR(15)  COMMENT '账户',
    `password` VARCHAR(10) COMMENT '密码',
    `address` VARCHAR(20) COMMENT '地址'
);

直接创建javaEE项目

不用选web;直接下一步

写好项目名;存放地址;打包后的路径,构建名,版本号

(1)添加相关maven依赖

要使用mybatis,那么首先就得用添加它的jar包依赖;
当然,由于要和数据库交互,那么还要配置mysql连接的驱动jar包依赖

在maven核心配置文件pom.xml中


    
     
         org.mybatis
         mybatis
         3.4.2
     
     
     
         mysql
         mysql-connector-java
         8.0.22
     


创建实体类User

(2)创建用户实体类User

User类的配置

package com.xiaozhi.pojo;


public class User {
    //属性,id,账户,密码,地址;
    private int id;
    private String account;
    private String password;
    private String address;
    
    //构造方法;
    public User() {
        
    }
    
    //这里构造方法初始化时就没包括ID;
    public User(String account, String password, String address) {
        this.account = account;
        this.password = password;
        this.address = address;
    }
    
    //getter,setter;

    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 getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
}
(3)创建核心配置文件mybatis-config.xml

在main目录的resources目录下创建mybatis-config.xml

本次简易搭建,没有将所有的配置参数属性都考虑;





    
    
        
        
    

    
    

        
        
        
            
            
            
            
            
                
                
                
                
                
            
        

        
        
            
            
            
            
            
                
                
                
                
            
        
    


(4)创建持久层接口UserMapper
package com.xiaozhi.mapper;

import com.xiaozhi.pojo.User;


public interface UserMapper {
    //添加新用户;
    void addUser(User user);
}
(5) 创建持久层映射配置文件UserMapper.xml

在resources目录下创建mapper文件夹;创建UserMapper.xml配置文件





    
    
    
    
        insert into t_user(account,password,address)
        values (#{account},#{password},#{address})
    


(6)去核心配置文件mybatis-config.xml配置mapper映射文件




    
    
        
        
    

    
    

        
        
        
            
            
            
            
            
                
                
                
                
                
            
        

        
        
            
            
            
            
            
                
                
                
                
            
        
    
    
    
    
        
    

(7)测试使用;这里几个步骤比较重要; 7.1–>先创建用户对象
//先创建用户对象;
User user = new User("小智","123654789","陕西汉中");
7.2–>以字符流的方式读取核心配置文件mybatis-config.xml
//第一步:用字符流的方式去读取核心配置文件mybatis-config.xml;
//注意;导包的时候-->用 ibatis 下的包,不要导错了;
Reader resourceAsReader = Resources.getResourceAsReader("mybatis-config.xml");
7.3–>创建SqlSessionFactory对象

一旦创建,SqlSessionFactory 就会在整个应用过程中始终存在。所以没有理由去销毁和再创建它,一个应用运行中也不建议多次创建 SqlSessionFactory

//第二步;创建sqlSessionFactory对象;
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsReader);

注意,这里使用的build方法,还能指定环境变量啊;即刚才的核心配置文件中的环境变量environment;
不写这个参数的话,就默认为环境配置environments的default来指定默认使用的环境变量;

7.4–>创建SqlSession对象

SqlSession就类似于JDBC中的Connection连接对象;表示一次与数据库连接的会话;

//第三步 SqlSession对象;
SqlSession sqlSession = sqlSessionFactory.openSession();
7.5–>得到UserMapper映射接口的代理对象
//第四步,得到UserMapper映射接口的代理对象;
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
7.6–>执行接口方法

但实际上执行了UserMapper.xml下的sql语句

//第五步,执行方法;
userMapper.addUser(user);
7.7–>提交事务
//第六步;提交事务;
sqlSession.commit();
7.8–>关闭sqlSession会话
//第七步;关闭sqlSession会话;
sqlSession.close();

TestByXiaoZhi类总配置

package com.xiaozhi.test;

import com.xiaozhi.mapper.UserMapper;
import com.xiaozhi.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.Reader;


public class TestByXiaoZhi {
    public static void main(String[] args) throws IOException {
        //先创建用户对象;
        User user = new User("小智","123654789","陕西汉中");

        //第一步:用字符流的方式去读取核心配置文件mybatis-config.xml;
        //注意;导包的时候-->用 ibatis 下的包,不要导错了;
        Reader resourceAsReader = Resources.getResourceAsReader("mybatis-config.xml");

        //第二步;创建sqlSessionFactory对象;
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsReader);

        //第三步 SqlSession对象;
        SqlSession sqlSession = sqlSessionFactory.openSession();

        //第四步,得到UserMapper映射接口的代理对象;
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);

        //第五步,执行方法;
        userMapper.addUser(user);

        //第六步;提交事务;
        sqlSession.commit();

        //第七步;关闭sqlSession会话;
        sqlSession.close();
    }
}

执行;这个也没写返回值类型;
那么去数据库看看吧;数据已经成功添加

整体搭建

MybatisX插件的简易安装

那个忍者小鸟的图标是使用了MybatisX插件;
打开IDEA的设置;找到Plugins插件管理;搜索MybatisX ,在线安装之后,重启IDEA即可使用了

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/348837.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号