mybatis框架的主要作用 简述mybatis工作原理

Mybatis的主要作用是快速实现对关系型数据库中的数据进行访问的框架在原生的Java技术中,需要使用JDBC实现对数据库中的数据访问,执行过程繁琐且相对固定 , 使用框架可以有效地提高开发效率
创建Mybatis-Spring工程
Mybatis可以不依赖于Spring等框架直接使用的 , 但是,就需要进行大量的配置,前期配置工作量较大,基于Spring框架目前是业内使用的标准之一,所以 , 通常会整合Spring与Mybatis,以减少配置在创建工程时 , 创建普通的Maven工程即可(不需要选择特定的骨架)
在pom.xml中添加几个依赖项
//Mybatis的依赖项:mybatis<groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.6</version></dependency>//Mybatis整合Spring的依赖项:mybatis-spring<dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>2.0.6</version></dependency>//Spring的依赖项:spring-context<dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.3.14</version></dependency> //Spring JDBC的依赖项:spring-jdbc<dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.3.14</version></dependency>//MySQL连接的依赖项:mysql-connector-java<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.21</version></dependency> //数据库连接池的依赖项:commons-dbcp2<dependency><groupId>org.apache.commons</groupId><artifactId>commons-dbcp2</artifactId><version>2.8.0</version></dependency>//JUnit测试的依赖项:junit-jupiter-api<dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-api</artifactId><version>5.7.0</version><scope>test</scope></dependency>创建完成后 , 可以在src/test/java下创建测试类,并编写测试方法,例如:
package cn.tedu.mybatis;import org.junit.jupiter.api.Test;public class MybatisTests {@Testpublic void contextLoads() {System.out.println(\"MybatisTests.contextLoads()\");}}//由于目前尚未编写实质的代码 , 以上测试代码也非常简单,应该是可以成功通过测试的配置Mybatis的开发环境
在src/main/resources下创建datasource.properties配置文件,用于配置连接数据库的参数 , 例如:
datasource.url=jdbc:mysql://localhost:3306/mall_ams?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghaidatasource.driver=com.mysql.cj.jdbc.Driverdatasource.username=rootdatasource.password=root在cn.tedu.mybatis包下(不存在,则创建)创建SpringConfig类 , 读取以上配置文件:
@Configuration@PropertySource(\"classpath:datasource.properties\")public class SpringConfig {}//@PropertySource是Spring框架的注解 , 用于读取properties类//型的配置文件,读取到的值将存入到Spring容器的Environment对象中在SpringConfig中配置一个DataSource对象
@Configuration@PropertySource(\"classpath:datasource.properties\")public class SpringConfig {@Beanpublic DataSource dataSource(Environment env) {BasicDataSource dataSource = new BasicDataSource();dataSource.setUrl(env.getProperty(\"datasource.url\"));dataSource.setDriverClassName(env.getProperty(\"datasource.driver\"));dataSource.setUsername(env.getProperty(\"datasource.username\"));dataSource.setPassword(env.getProperty(\"datasource.password\"));return dataSource;}}Mybatis的基本使用
当使用Mybatis实现数据访问时,主要:

  1. – 编写数据访问的抽象方法
  2. – 配置抽象方法对应的SQL语句
关于抽象方法:
  • 必须定义在某个接口中,这样的接口通常使用Mapper作为名称的后缀,例如AdminMapper
  • Mybatis框架底层将通过接口代理模式来实现方法的返回值类型:如果要执行的数据操作是增、删、改类型的 , 统一使用int作为返回值类型,表示“受影响的行数” , 也可以使用void,但是不推荐如果要执行的是查询操作,返回值类型只需要能够装载所需的数据即可
方法的名称:自定义,不要重载,建议风格如下: