MyBatis入门(一)

MyBatis概述

Mybatis是一个基于java的持久层框架,对jdbc进行了封装,开发者只需要关注sql语句本身,不需要花精力去处理加载驱动,创建连接,创建statement等复杂的过程。通过配置XML或注解的方式,并通过java对象和statement中的sql的动态参数进行映射。

框架的定位:

MyBatis入门(一)_第1张图片涉及到的知识点:工程模式(Factory工厂模式)、构造这模式(Builder模式)、代理模式、自定义注解、注解的反射等。

一、入门

1.  官网下载Mybatis框架

2. 搭建Mybatis开发环境

  1. 创建maven工程,在pom.xml文件中配置如下:
    
    
        4.0.0
    
        com.itheima
        day01_eesy_01mybatis
        1.0-SNAPSHOT
        jar
    
        
            
                org.mybatis
                mybatis
                3.4.5
            
            
                mysql
                mysql-connector-java
                5.1.6
            
            
                log4j
                log4j
                1.2.12
            
            
                junit
                junit
                4.10
            
        
    

     

  2. 编写User实体类
  3. 编写持久层接口UserDao
  4. 编写持久层接口映射文件UserDao.xml
    
    
    
        
        
    

    MyBatis入门(一)_第2张图片

  5. 编写SqlMapConfig.xml配置文件
    
    
    
    
        
        
            
            
                
                
                
                
                    
                    
                    
                    
                    
                
            
        
    
        
        
            
        
    

     

  6. 测试
  7.     public static void main(String[] args)throws Exception {
            //1.读取配置文件
            InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
            //2.创建SqlSessionFactory工厂
            SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
            SqlSessionFactory factory = builder.build(in);
            //3.使用工厂生产SqlSession对象
            SqlSession session = factory.openSession();
            //4.使用SqlSession创建Dao接口的代理对象
            UserDao userDao = session.getMapper(UserDao.class);
            //5.使用代理对象执行方法
            List users = userDao.findAll();
            for(User user : users){
                System.out.println(user);
            }
            //6.释放资源
            session.close();
            in.close();
        }

     

3. Mybatis流程分析

MyBatis入门(一)_第3张图片

查询所有的流程分析

MyBatis入门(一)_第4张图片

入门案例分析

MyBatis入门(一)_第5张图片

扩展:如何自定义Mybatis框架?

你可能感兴趣的:(Mybatis)