框架:是整个和部分系统的课重用设计,表现为一组抽象构件及构件实例之间交互的方法;
另一种定义认为:框架是可被开发者定制的应用骨架,
并且可以很好将底层的应用平台和高层业务逻辑进行缓和,为了实现软件工程中的高内聚,低耦合,常见的有MVC软件设计思想
javaweb中采用ssm来实现MVC思想
其中有
持久层框架mybaits
Web层的Spring mvc
解决问题整合的Spring框架
Mybatis框架是一个基于java的持久层框架,内部封装了jdbc,使开发者专注于sql语句本身,
Mybatis通过xml或者注解的方式将要执行的statement配置起来,并通过java对象和statemet中的动态参数进行映射生成最终执行的sql语句,最后又mybatis框架执行并且将结果映射为java对象并返回
采用ORM思想解决了实体和数据库映射的问题
ORM思想: 作用在关系数据库和实体之间做一个映射,在操作时,不需要和SQL语句打交道,只需要进行简单的操作对象的属性和方法
优点:只需要面向对象编程不需要,面向数据库进行编码;对数据库的操作都变成了对于属性和方法的操作,不用编写针对于各种数据库的语句
通过简单配置就可以轻松更换数据库,而不需要更改代码。
缺点:在映射过程中有性能损失
使用方式:1在官网下载mybatis jar包
2.创建maven工程在pom.xml中加入
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
编写属于数据库的实体类,加入get/set方法
编写持久层接口
编写持久层接口的映射文件,位置在resources中文件夹和持久层接口名一致
编写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">
<configuration>
<!--配置环境-->
<environments default="mysql">
<environment id="mysql">
<!--配置事务类型 -->
<transactionManager type="JDBC"></transactionManager>
<!--配置连接池-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/travel?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT" />
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<!--指定映射配置文件位置-->
<mappers>
<!--配置文件方法,内容为配置文件路径-->
<mapper resource="dao/iUserDao.xml"></mapper>
<!--注解方式,路径为接口路径-->
<!--<mapper class="dao.UserDao"></mapper>-->
</mappers>
</configuration>
注解方式
在持久层接口方法上
@select(“”)中为sql语句
修改sqlMapConfig.xml
划线部分为接口的路径
总结:1在编写mybatis是只需要编写Dao接口并按照mybatis要求写两个配置文件,
2在使用注解方式是移除在SqlMapConfig.xml中移除xml的映射配置即可