为了分析方便,本文默认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);
由于时间,后面将具体分析。。。。