一
工作流程:
读取基本配置文件
生成SqlSessionFactory
建立SqlSession
调用Mybatis提供的API
查询MAP配置
返回结果
关闭SqlSession
基本配置文件:含两部分,一是数据库环境,二是mapping文件位置
SqlSessionFactory,SqlSession:前者代指数据库连接,后者可理解为利用它来执行sql
SqlSessionFactory sqlMapper = new SqlSessionFactoryBuilder().build(reader);
SqlSession session = sqlMapper.openSession();
二.map文件
内部包含sql语句
可选三种方式引用:
mybatisConfig.xml 中
<mappers>
<mapper resource="jike/book/map/jikeUser.xml" />
</mappers>
绝对路径引用
<mapper url="file:///var/sqlmaps/AuthorMapper.xml"/>
包路径引用
<package name="com.tiantian.mybatis.mapperinterface"/>
附注:定义好对应数据库的pojo,基本配置文件配置好数据库环境和mapping地址。然后mapping文件放好sql语句(含id,参数类型,返回类型),开SqlSessionFactory,开session,执行sql,关session.即可。注意要查看sql输出,须要log4j里面定义为debug
例子:
基本配置文件:
<environments default="development">
<environment id="development">
<transactionManager type="JDBC">
</transactionManager>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/jikebook"/>
<property name="username" value="root"/>
<property name="password" value="123"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="jike/book/map/jikeUser.xml"/>
</mappers>
mapping文件:
<select id="findById" parameterType="int" resultType="jike.book.pojo.JiKeUser">
select * from jikeUser where id=#{id}
</select>
test类:
String resource = "jike/book/map/MyBatisConfig.xml";
Reader reader = null;
SqlSession session;
try {
reader = Resources.getResourceAsReader(resource);
} catch (IOException e) {
e.printStackTrace();
}
SqlSessionFactory sqlMapper = new SqlSessionFactoryBuilder()
.build(reader);
session = sqlMapper.openSession();
JiKeUser temp = session.selectOne("findById", 1);
System.out.println(temp.getUserName());
session.close();