MyBatis快速入门

本文介绍了MyBatis快速入门,包括ORM对象关系映射概念,MyBatis的特点和优势,以及如何搭建入门程序。详细讲解了Resources、SqlSessionFactoryBuilder、SqlSessionFactory等关键API的使用,同时阐述了MyBatis映射配置文件和核心配置文件的配置。文章还涉及了接口代理方式实现Dao层,包括动态SQL、分页插件PageHelper的使用和多表操作的基础知识。
摘要由CSDN通过智能技术生成

一、MyBatis快速入门

1.ORM(对象关系映射)

1)指的是持久化数据和实体对象的映射模式,解决面对对象与关系型数据库存在的互不匹配的现象的技术;

2)映射规则:

  • 数据表——>类;

  • 表字段——>类属性;

  • 表数据——>对象;

在这里插入图片描述

2.MyBatis介绍

1)好处和特点

  • 一种给予Java的持久层框架技术,和数据库相关,里面封装了JDBC,使得开发者只需关注SQL本身,无需多余操作;
  • mybatis通过xml或者注解的方式将需要执行的各种Statemengt配置起来,并通过Java对象和Statement中的SQL的动态参数进行映射生成最重要执行的SQL语句;
  • 该框架执行完SQL并将结果映射为Java对象并返回;

2)为什么要引入该技术,主要原因:

  • 频繁通过原生JDBC语句操作时,造成系统资源浪费影响系统性能;
  • SQL语句在代码中硬编码,如果修改SQL语句,就必须修改Java代码,维护代码不易;
  • 查询操作时,需要手动将结果集中的数据封装至实体对象中;
  • 增删改查需要操作时,需要手动将实体对象的数据设置到SQL语句的占位符;

MyBatis官网:http://www.mybatis.org/mybatis-3/

3.MyBatis入门程序
  • 数据准备;
  • 导入jar包;
  • 在src下创建映射配置文件;(一般都是以类名+Mapper命名的xml文件,比如StudengtMapper.xml)
  • 在src下创建核心配置文件;(一般都是以MyBatisConfig命名的xml文件,比如MyBatisConfig.xml)
  • 编写测试类完成相关API的使用;
  • 运行测试查看结果;
4.测试类需要做的操作配置步骤
  • 加载核心配置文件;

    InputStream is = Resources.getResourceAsStream(MyBatisConfig.xml);
    
  • 获取SqlSession工厂对象;

    SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);
    
  • 通过SqlSession工厂对象获取SqlSession对象

    SqlSession sqlSession = sqlSessionFactory.openSession();
    
  • 执行映射配置文件中的SQL语句,并接受结果

    List<Object> list = sqlSession.selectlist("StudentMapper.selectALL");
    //object为测试类新建的对象;
    //StudentMapper.selectALL是映射文件中的SQL语句内容;
    
  • 处理结果(这里我们测试遍历打印)

    for (Student stu:list)
    
    {
         
    		System.out.println(stu);
    
    }
    
  • 释放资源

sqlSession.close();
is.close();
二、MyBatis相关API
1.Resources的介绍
  • 加载资源的工具类;
  • 核心方法
    • getResourceAsStream(String fileName)
    • 返回值:InputStream
    • 说明:通过类加载器返回指定资源的字节输入流
2.SqlSessionFactoryBuilder的介绍
  • 获取SqlSessionFactory工厂对象的功能类;
  • 核心方法
    • build(InputStream is)
    • 返回值:SqlSessionFactory;
    • 说明:通过自定资源输入流获取SqlSession工厂对象;
3.SqlSessionFactory的介绍
  • 获取SqlSession构建这对象的工厂接口;
  • 核心方法:两个
    • openSession();
    • 返回值:SqlSession;
    • 说明:获取SqlSession构建者对象,并开启手动提交对象;
    • openSession(boolean atuoCommit);
    • 返回值:SqlSession;
    • 说明:获取SqlSession构建者对象,如果参数为true,则开启自动提交对象;

4.SqlSession的介绍

构建者对象接口,用于执行SQL/管理事务、接口代理;

在这里插入图片描述

三、MyBatis映射配置文件
1.介绍
  • 该文件中包含了数据和对象之间的映射关系一级要执行的SQL语句;
  • 这里直接在映射配置文件里面做笔记吧;
<?xml version="1.0" encoding="UTF-8" ?>                            <!--xml文件的标题-->
<!--MyBatis的DTD约束-->
<!DOCTYPE mapper                                                 
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"                
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">           
<!--
mapper:核心的根标签;
namespace属性:名称空间,比如ClassesMapper;
-->
<mapper namespace="ClassesMapper">   
 <!--   
select:查询功能的标签;
id属性:唯一标识,配合名称空间找到我们需要执行的SQL语句;
resultType属性:指定结果映射对象类型;
xxxxx:里面是写测试类新建的对象,包括路径
parameterType属性:指定参数映射对象类型;
-->
    <select id="selectAll" resultType="xxxxx">
        SELECT * FROM classes
    </select>
</mapper>                                        
2.查询功能的使用
 <!--   映射配置文件的内容
这里我就简单写了,要看详细的知识请看下3.1中的介绍内容;
select标签可以写多个,里面只能包裹一个select语句
这里假设我们需要按照id查询相关信息,如下写select标签
注意:这里我们只有一个ID参数
-->
    <select id="selectbyid" resultType="com.Yuan.bean.student" parameterType="java.lang.Integer">
        SELECT * FROM student where id = #{id}
    </select>
     //测试类的内容
public class student{
   
    public viod s
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

聪明的墨菲特i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值