- 提供mybatis-x.x.x.jar 文件
- 目录结构
只有mapper.xml时我推荐这种目录结构;
有mapper.java时,mapper.java和mapper.xml放一个package下
- XML 配置文件(configuration XML)
例如
<?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>
- 基于XML的sql映射文件
例如
<?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>
- Java代码中利用configuration XML构建 SqlSessionFactory:
String resource = "org/mybatis/example/mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
- 从 SqlSessionFactory 中获取 SqlSession,然后利用SqlSession进行sql操作
mybatis有 只有Mapper.xml 和 Mapper.java+Mapper.xml 两种方法。
一.只有Mapper.xml xml可以放在config下
session默认带有一些语句,如Userinfo userinfo=session.selectOne(“xyh.getById”, 1);
这些语句的参数的String部分就是你要在Mapper.xml中写的语句。session自带的这些语句并不能直接实现功能,还需要加入你写的Mapper.xml中的sql语句。
二.Mapper.java+Mapper.xml xml可以和Mapper.java放在同一包下(现在比较常用)
SqlSession session = sqlSessionFactory.openSession();
try {
BlogMapper mapper = session.getMapper(BlogMapper.class);
Blog blog = mapper.selectBlog(101);
} finally {
session.close();
}
依赖注入框架(Spring)可以创建线程安全的、基于事务的 SqlSession 和映射器(mapper)并将它们直接注入到你的 bean 中,因此可以直接忽略它们的生命周期。mabatis和Spring结合后,数据库配置和加载映射文件都可以交由Spring,configuration XML不用再写它们