MyBatis 入门
安装
| 1 2 3 4 5
 | <dependency>   <groupId>org.mybatis</groupId>   <artifactId>mybatis</artifactId>   <version>x.x.x</version> </dependency>
 | 
从XML中构建SqlSessionFactory
| 1 2 3
 | String resource = "org/mybatis/example/mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
 | 
XML配置文件
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
 | <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration   PUBLIC "-//mybatis.org//DTD Config 3.0//EN"   "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration>   <environments default="development">     <environment id="development">       <transactionManager type="JDBC"/>       <dataSource type="POOLED">         <property name="driver" value="${driver}"/>         <property name="url" value="${url}"/>         <property name="username" value="${username}"/>         <property name="password" value="${password}"/>       </dataSource>     </environment>   </environments>   <mappers>     <mapper resource="org/mybatis/example/BlogMapper.xml"/>   </mappers> </configuration>
 | 
从 SqlSessionFactory 中获取
| 1 2 3 4 5 6
 | SqlSessionSqlSession session = sqlSessionFactory.openSession(); try {   Blog blog = (Blog) session.selectOne("org.mybatis.example.BlogMapper.selectBlog", 101); } finally {   session.close(); }
 | 
Sql 映射
| 1 2 3 4 5 6 7 8 9
 | <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper   PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"   "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.mybatis.example.BlogMapper">   <select id="selectBlog" resultType="Blog">     select * from Blog where id = #{id}   </select> </mapper>
 | 
接口映射
| 1 2 3 4 5
 | package org.mybatis.example; public interface BlogMapper {   @Select("SELECT * FROM blog WHERE id = #{id}")   Blog selectBlog(int id); }
 | 
Mapper Interface
| 1 2 3 4 5 6 7
 | SqlSession session = sqlSessionFactory.openSession(); try {   BlogMapper mapper = session.getMapper(BlogMapper.class);   Blog blog = mapper.selectBlog(101); } finally {   session.close(); }
 | 
作用域
SqlSessionFactoryBuilder用于创建SqlSessionFacotry,只需要创建一次,每一个实例都要创建对应的SqlSesion。使用完必须关闭。