MyBatis 是一个半自动化的ORM框架 (Object Relationship Mapping) -->对象关系映射。使用简单的 XML 或 注解来配置和映射原生信息,将接口和 Java 的 实体类 【Plain Old Java Objects,普通的 Java对象】映射成数据库中的记录。
流程:
1.导入MyBatis相关 jar 包
2.编写MyBatis核心配置文件:
(resources文件下)
- 数据库四要素+SqlConfig(映像到另一个xml文件,里面有sql语句)
<!--指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件-->
<mappers>
<mapper resource="dao/IUserDao.xml"/>
</mappers>
- Properties优化
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
2.1 XML配置的方式
该xml的位置在resource文件下,路径必须SqlConfig.xml中的相同
<mapper namespace="com.dao.IUserDao">
<select id="selectUser" resultType="com.pojo.User">
select * from user
</select>
</mapper>
2.2 注解方式
SqlConfig.xml中标签:
<!-- 使用的是注解 -->
<mappers>
<!-- <mapper class="cn.itcast.dao.AccountDao"/> -->
<!-- 该包下所有的dao接口都可以使用 -->
<package name="cn.itcast.dao"/>
</mappers>
在Dao***接口***的方法上添加注解,编写SQL语句
3.测试
public class MybatisTest {
private InputStream in;
private SqlSession sqlSession;
private IUserDao userDao;
@Before//用于在测试方法执行之前执行
public void init()throws Exception{
//1.读取配置文件,生成字节输入流
in = Resources.getResourceAsStream("SqlConfig.xml");
//2.获取SqlSessionFactory
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
//3.获取SqlSession对象
sqlSession = factory.openSession();
//4.获取dao的代理对象
userDao = sqlSession.getMapper(IUserDao.class);
}
@After//用于在测试方法执行之后执行
public void destroy()throws Exception{
//提交事务
sqlSession.commit();
//6.释放资源
sqlSession.close();
in.close();
}
/**
* 测试查询所有
*/
@Test
public void testFindAll(){
//5.执行查询所有方法
List<User> users = userDao.findAll();
for(User user : users){
System.out.println(user);
}
}