1,三层架构
2,持久层
3,入门
mybatis环境搭建
第一步:创建maven工程并导入坐标
第二步:创建实体类和dao的接口
第三步:创建Mybatis的主配置文件————SqlMapConfig.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">
<!--mybatis的主配置文件-->
<configuration>
<!--配置环境-->
<environments default="mysql">
<!--配置mysql的环境-->
<environment id="mysql">
<!--配置事务的类型-->
<transactionManager type="JDBC"></transactionManager>
<!--配置数据源 连接池-->
<dataSource type="POOlED">
<!--配置连接数据库的四个基本信息-->
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/eesy_mybatis"/>
<property name="username" value="root"/>
<property name="password" value="maple"/>
</dataSource>
</environment>
</environments>
<!--指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件-->
<mappers>
<!--
使用注解开发使用class属性
<mapper class="com.jsp.dao.IUserDao"/>
-->
<mapper resource="com/jsp/dao/IUserDao.xml" />
</mappers>
</configuration>
第四步:创建映射配置文件————IUserDao.xml
<?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="com.jsp.dao.IUserDao">
<!--配置查询所有-->
<select id="findAll" resultType="com.jsp.domain.User">
select * from user
</select>
</mapper>
4,环境搭建的注意事项
第一:创建IUserDao.xml和IUserDao.java时名称是为了和我们之前的知识保持一致。在Mybatis中它把持久层的操作接口名称和映射文件也叫做:Mapper———所以IUserDao和IUserMapper是一样的
第二:在idea中创建目录的时候,它和包是不一样的,包在创建的时候是一个多级的目录,而环境搭建时所创建的目录会是一个一级目录,所以创建的时候要一级一级向下创建
第三:mybatis的映射配置文件位置必须和dao接口的包结构相同。
第四:映射配置文件的mapper标签namespace属性的取值必须是dao接口的全限定类名
第五:映射配置文件的操作配置(select),id属性值的取值必须是dao接口的方法名。
5,入门案例
第一步:读取配置文件
第二步:创建SqlSessionFactory工厂
第三步:使用工厂生产一个SqlSession对象
第四步:使用SqlSession创建dao接口的代理对象
第五步:使用代理对象执行方法
第六步:释放资源
package com.jsp.test;
import com.jsp.dao.IUserDao;
import com.jsp.domain.User;
import org.apache.ibatis.io.Resources;//导入的是apache的Resources包
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.InputStream;
import java.util.List;
/**
* @author mac
* @create 2019/9/12
*
*/
public class MybatisTest {
/**
* mybatis的入门案例
* @param args
*/
public static void main(String[] args) throws Exception {
//1,读取配置文件
InputStream is = Resources.getResourceAsStream("SqlMapConfig.xml");
//2,创建SqlSessionFactory工厂
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
SqlSessionFactory factory = builder.build(is);
//3,使用工厂生产一个SqlSession对象
SqlSession session = factory.openSession();
//4,使用SqlSession创建dao接口的代理对象
IUserDao userDao = session.getMapper(IUserDao.class);
//5,使用代理对象执行方法
List<User> users = userDao.findAll();
for (User user:users) {
System.out.println(user);
}
//6,释放资源
session.close();
is.close();
}
}