MyBatis框架的配置及使用
(初学java,根据学习对mybatis的认知)
1. 关于MyBatis的基本概念
简化数据库编程。
使用MyBatis开发增删改查功能时,每个功能只需要写出抽象方法与对应的SQL语句即可!
2. 创建项目
创建Maven Project
创建成功后,生成web.xml,在项目属性中勾选Tomcat,从前序项目中复制Spring的配置文件到当前项目中,从前序项目中复制web.xml中关于DispatcherServlet
和CharacterEncodingFilter
的配置到当前项目中,从前序项目的pom.xml文件中复制依赖到当前项目中。
在使用MyBatis框架时,需要先添加mybatis
的依赖:
<!-- MyBatis框架的依赖 -->
<!-- 可选版本:3.5.0~3.5.3 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.3</version>
</dependency>
MyBatis框架本身可以直接单独使用,但是配置比较麻烦,整合Spring后可以简化许多,所以,还应该添加MyBatis整合Spring框架的mybatis-spring
的依赖:
<!-- MyBaits整合Spring的依赖 -->
<!-- 可选版本:2.0.0~2.0.3 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.3</version>
</dependency>
由于底层实现依然使用了JDBC技术,需要添加spring-jdbc
的依赖,添加的这个依赖的版本必须与正在使用的spring-webmvc
的一致(也可以理解为:同一个项目中,添加的所有以spring-
为前缀的依赖必须是完全相同的版本)!
结合数据库编程,原理上还是得先连接到数据库,所以,需要添加commons-dbcp
数据库连接池的依赖:
<!-- 数据库连接池 -->
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
由于使用的是MySQL数据库,还需要添加数据库连接的依赖mysql-connector-java
:
<!-- 数据库连接驱动 -->
<!-- 可选版本:5.1.40~5.1.48 -->
<!-- 可选版本:8.0.11~8.0.18 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.18</version>
</dependency>
最后,为了检测编程效果,还应该保证已经添加了单元测试junit
的依赖:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
3. 连接数据库
首先,在src/main/resources下创建db.properties配置文件,在该文件中配置连接数据库的相关信息:
url=jdbc:mysql://localhost:3306/tedu_ums?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Chongqing
driver=com.mysql.cj.jdbc.Driver
username=root
password=root
initialSize=2
maxActive=5
创建spring-dao.xml添加本次所需的配置!
先读取以上db.properties文件:
<!-- 读取db.properties中的配置 -->
<util:properties
location="classpath:db.properties"></util:properties>
然后,配置BasicDataSource
(注意:是commons-dbcp
中的类,不是Tomcat中的类):
<!-- 配置数据源BasicDataSource -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="url" value="#{config.url}" />
<property name="driverClassName" value="#{config.driver}" />
<property name="username" value="#{config.username}" />
<property name="password" value="#{config.password}" />
<property name="initialSize" value="#{config.initialSize}" />
<property name="maxActive" value="#{config.maxActive}" />
</bean>