自定义Mybatis——目录结构介绍

目录

  • Test类
    • 目录结构图
    • 包和类说明

Test类

package com.xxj.test;

import com.xxj.entity.Person;
import com.xxj.mybatis.io.Resources;
import com.xxj.mybatis.sqlsession.SqlSession;
import com.xxj.mybatis.sqlsession.SqlSessionFactory;
import com.xxj.mybatis.sqlsession.SqlSessionFactoryBuilder;
import com.xxj.service.person.PersonService;

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

/**
 * @author xxj
 * Mybatis入门案例
 */
public class MybatisTest {
    /**
     * 入门案例
     * @param args
     */
    public static void main(String[] args) throws IOException {
        //1.读取配置文件
        InputStream in = Resources.getResourceAsStream("MybatisConfig.xml");
        //2.创建SqlSessionFactory工厂
        SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
        SqlSessionFactory factory = builder.build(in);
        //3.使用工厂创建SqlSession对象
        SqlSession session = factory.openSession();
        //4.使用SqlSession创建实体接口代理对象
        PersonService ps =session.getMapper(PersonService.class);
        //5.使用代理对象执行方法
        List<Person> list = ps.PersonList();
        for(Person p : list){
            System.out.println(p.toString());
        }
        //6.释放资源
        session.close();
        in.close();
    }

}

目录结构图

自定义Mybatis——目录结构介绍_第1张图片

包和类说明

  • com.xxj.entity 用来存放实体类

    • class Person 实体类点击此处查看源码
  • mybatis 存放自定义mybatis

    • com.xxj.mybatis.cfg 存放自定义配置对象类
      • class Configuration 自定义mybaits的配置类 点击此处查看源码
      • class Mapper 用于封装执行的sql语句和结果类型的全限定类名 点击此处查看源码
    • com.xxj.mybatis.io 存放自定义mybatis中的涉及io流的类
      • class Resources 使用类加载器读取配置文件的类点击此处查看源码
    • com.xxj.mybatis.sqlsession 存放mybaits中的和数据库交互的核心类
      • com.xxj.mybatis.sqlsession.Impl 存放sqlsession中的接口实现类
        • class SqlSessionImpl SqlSession接口的实现类点击此处查看源码
        • class SqlSessionFactoryImpl SqlSessionFactory接口的实现类点击此处查看源码
      • com.xxj.mybatis.sqlsession.proxy 存放代理类的实现类
        • class MapperProxy InvocationHandler接口的实现类,用于代理对象接口增强点击此处查看源码
      • interface SqlSession 它里面可以创建dao也就是实体类接口的代理对象点击此处查看源码
      • interface SqlSessionFactory SqlSessionFactory工厂点击此处查看源码
      • class SqlSessionFactoryBuilder 用于创建一个SqlSessionFactory对象点击此处查看源码
    • com.xxj.mybatis.utils 存放工具类
      • class DataSourceUtil 获取连接类点击此处查看源码
      • class Executor 负责执行SQL语句,并且封装结果集点击此处查看源码
      • class XMLConfigBuilder 用于解析配置文件点击此处查看源码
    • com.xxj.service 存放实体类接口
      • interface PersonService Person实体类接口点击此处查看源码

你可能感兴趣的:(Mybatis)