MyBatis系列之--Java 项目(非SpringBoot)集成MyBatis
工作中常常写一些服务,基本上会与MySQL关联上,如何快速的从MySQL中获取数据?大家可能都会选用SpringBoot来集成MyBatis,这样做的原因一个是简单,另外一个是封装的好,基本上开箱即用。
遗憾的是,这里想介绍的跟SpringBoot 没有关系,这里用一个与SpringBoot无关的Java Maven 项目,来与MyBatis结合做数据查询。
对MyBatis简单介绍
MyBatis是一个轻量级的持久层框架,能很好的解析自定义SQL,高效的完成数据的添加、删除、查询等操作。
MyBatis几乎免除了所有的JDBC代码,以及设置参数和获取结果的工作。可以通过XML或注解的方式来配置和映射原始类型、接口和POJO为数据库中的记录。
核心接口SqlSessionFactory
MyBatis主要和数据库进行交互,少不了创建数据库连接,其中SqlSessionFactory是主要的核心。
上面这张图是对官网简介的一个总结,通过这个简单的描述可以回答下面两个问题:
-
如何创建SqlSessionFactory?
SqlSessionFactory(简称SSF) 通过 SqlSessionFactoryBuilder (简称SSFB)创建。
SSFB创建SSF的过程中,需要一些数据库JDBC的信息,这些信息可以通过XML文件或Java的Configuration对象来获取。
-
如何使用SqlSessionFactory?
SSF 创建好之后,基本上就保证它应用级别的作用域,不对其进行重复的创建和销毁操作。
最简单的是通过单例模式或静态单例模式来达到应用级别的作用域。
实战
1. Maven创建Java项目
本地需要安装Maven,然后才能执行下面的代码。
mvn archetype:generate -DgroupId=com.botao -DartifactId=pure-mybatis -DarchetypeArtifactId=maven-archetype-quickstart
2. 添加依赖
pom.xml 文件中添加下面的依赖
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.44</version>
</dependency>
</dependencies>
3. 配置JDBC属性
resources目录下创建 application.properties
文件,并输入下面的配置信息。
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/university?characterEncoding=UTF-8
jdbc.username=root
jdbc.password=123456
4. 配置MyBatis需要的配置文件
resources目录下创建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="application.properties"/>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"/>