一、框架
1、什么是框架
框架(Framework)是一个提供了可重用的公共结构的半成品
2、五大框架
(1)Struts2框架
(2)Hibernate框架
(3)Spring框架
(4)SpringMVC框架
(5)MyBatis框架
二、MyBatis框架
1、MyBatis是一个开源的数据的持久层框架
2、ORM
(1)什么是ORM:ORM(Object/Relational Mapping)即对象/关系映射,是一种数据持久化技术。
(2)数据持久化:将瞬时转化为持久状态的过程。
3、MyBatis环境搭建
(1)部署依赖
在父工程的配置.xml中添加依赖
(2)在子工程中同样部署依赖
(3)编写MyBatis核心配置文件
mybatis-config.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> <!-- 引入数据源文件 --> <properties resource="jdbc.properties"/> <!-- 配置数据源 --> <environments default="deve"> <environment id="deve"> <transactionManager type="JDBC"></transactionManager> <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="com/user/dao/IUserDao.xml"/> </mappers> </configuration>
(4)创建实体类
IUserDao实体类(对应数据库中的字段,insert+Alt快速封装数据)
注:字段名必须与数据库保持一致
(5)创建Dao层接口(对应你想要实现的方法)
IUserDao
(6)创建SQL映射文件
注:映射文件名与Dao层保持一致
<?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"> <!--namespace需要指向接口全路径--> <mapper namespace="com.user.dao.userdao"> <!--id代表当前命名空间下(接口下)的唯一方法名 resultType代表返回值类型--> <!--用于查询--> <select id="getAllUser" resultType="com.user.entity.User"> select * from smbms_user </select> </mapper>
(7)编写测试类
在子工程的pom.xml文件中添加运行节点
添加Test测试类
public class UserTest { SqlSession sqlSession; @Before public void Before() throws IOException{ //步骤一:读取大配置文件 String source="mybatis-config.xml"; InputStream is = Resources.getResourceAsStream(source); //步骤二:创建工厂 SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is); //步骤三:创建SqlSession核心对象 sqlSession = factory.openSession(); } //查询数据 @Test public void getAllUser() throws IOException { //步骤四:执行增删改查 List<User> getAllUser = sqlSession.selectList("getAllUser"); for (User user : getAllUser) { System.out.println(user.getUserName()); } } @After public void after(){ //最后关闭sqlSession释放资源 sqlSession.close(); } }
三、MyBatis的基本要素——核心对象
1、MyBatis核心接口和类的结构图