MyBatis-一次查询请求源码解读

   为了分析方便,本文默认mybatis查询数据的环境已经搭建成功,在此就不累述了,我们把重点放在关键的查询代码上。

@Test
public void getById(){
    InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
    SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);   
    SqlSession session = sqlSessionFactory.openSession();
    Person person = session.selectList("com.chen.mapper.PersonMapper.getById", 1);
    System.out.println("id:"+person.getId()+", name:"+person.getName()+", age:"+person.getAge());
}

  mapper映射xml文件。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"   
	"http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">  
        <mapper namespace="com.chen.mapper.PersonMapper">  
        
        <select id="getById" parameterType="integer" resultType="Person">  
        select * from person where id = #{id}   
</select>

  好了,关键代码就已经列出来了,下面我们着重来通过源码解读,看看mybatis做一次查询的流程就进是怎样的。

  其中,我们mybatis入口的重点代码是:

SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);   
SqlSession session = sqlSessionFactory.openSession();
Person person = session.selectList("com.chen.mapper.PersonMapper.getById", 1);

   由于时间,后面将具体分析。。。。

你可能感兴趣的:(mybatis源码)