Java框架学习_Mybatis(五)Mybatis架构体系

1、Mybatis架构体系(面试可能会问):

  1. 和其他框架一样,Mybatis也需要也配置文件SqlMapConfig.xml核心配置,里面对应每一个表会有很多的mappers配置
  2. 用SqlSessionFactoryBuilder类的build方法建立一个SqlSessionFactory接口的实例(这里会调用Mybatis的工具类将核心配置文件作为输入流输入)
  3. 开启一个SqlSession会话
  4. SqlSession是一个接口实例,底层真正调用的是excutor,会创建Mybatis自己的MappedStatement对数据库进行增删改查操作(就相当于JDBC里面的statement/prestatement,然后调用excuteQuery方法一样
  5. 输入映射是Map、String/Integer等基本类型、pojo
  6. 输出映射是Map、String/Integer等基本类型、pojo、List

具体代码的体现如下(包不要导错!)

package cn.nupt.mybatis.test;

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

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 cn.nupt.pojo.User;


public class MybatisCore {
	
	public void mybatis() throws IOException {
		
		SqlSessionFactoryBuilder factoryBuilder = new SqlSessionFactoryBuilder();
		//SqlMapConfig.xml核心配置,里面对应每一个表会有很多的<mappers>配置
		InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml");
		//用SqlSessionFactoryBuilder类的build方法建立一个SqlSessionFactory接口的实例
		SqlSessionFactory sqlSessionFactory = factoryBuilder.build(inputStream);
		//开启一个会话
		SqlSession session = sqlSessionFactory.openSession(true);
		//然后这个会话回调用excute方法调用Mybatis自己的MappedStatement对数据库进行操作(就相当于JDBC里面的statement/prestatement,调用excuteQuery方法一样)
		List<User> list = session.selectList("user.getUserByName", "张");
		//输入映射是Map、String/Integer等基本类型、pojo
		//输出映射是Map、String/Integer等基本类型、pojo、List等类型
		
		
		
	}

}

猜你喜欢

转载自blog.csdn.net/weixin_39782583/article/details/85933136
今日推荐