MyBatis快速入门

一、MyBatis快速入门

1.ORM(对象关系映射)

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

2)映射规则:

  • 数据表——>类;

  • 表字段——>类属性;

  • 表数据——>对象;

MyBatis快速入门_第1张图片

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快速入门_第2张图片

三、MyBatis映射配置文件
1.介绍
  • 该文件中包含了数据和对象之间的映射关系一级要执行的SQL语句;
  • 这里直接在映射配置文件里面做笔记吧;
                            

DOCTYPE mapper                                                 
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"                
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">           

<mapper namespace="ClassesMapper">   
 
    <select id="selectAll" resultType="xxxxx">
        SELECT * FROM classes
    select>
mapper>                                        
2.查询功能的使用
 
    <select id="selectbyid" resultType="com.Yuan.bean.student" parameterType="java.lang.Integer">
        SELECT * FROM student where id = #{id}
    select>
     //测试类的内容
public class student{
   
    public viod selectbyid 

你可能感兴趣的:(MyBatis,JAVA,mybatis,java,数据库)