集成Mybatis
1,引入Mysql数据库连接驱动依赖
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.46</version>
</dependency>
2,引入数据源依赖(数据库连接池)
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.21</version>
</dependency>
3,引入SpringJDBC依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.1.12.RELEASE</version>
</dependency>
4,引入Mybatis依赖
<!-- mybatis-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
5,引入Spirng和Mybatis整合依赖
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.3</version>
</dependency>
6,刷新依赖,并检查artifact,具体操作查看《【徒手搭建SSM开发环境三】集成Spring(上)——集成SpringIOC》4-5部分内容,此处不再截图演示
7,在resources添加数据库四要素配置文件datasource.properties,并在其中对数据连接四要素进行配置
8,在resources文件的spring文件夹下,新建Mybatis与Spring集成的配置文件applicationContext-mybatis.xml,
该文件的主要目的是为了将Mybatis的相关对象都交给Spring进行管理。
需要注意,该文件中的mapper接口包扫描路径匹配模式的配置,Mybatis的mapper接口的包路径必须符合此匹配模式,才能被Mybatis扫描加载和解析到
9,在resources文件夹下创建Mybatis全局配置文件 mybatis-configuration.xml,并在其中添加全局配置,启用Mybatis的自动驼峰命名映射
10,创建数据表yyds_product,并向其中插入测试数据
/*
Navicat Premium Data Transfer
Source Server : 0_localhost_57_root
Source Server Type : MySQL
Source Server Version : 50728
Source Host : localhost:3306
Source Schema : ssm_yyds
Target Server Type : MySQL
Target Server Version : 50728
File Encoding : 65001
Date: 07/10/2021 01:25:26
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for yyds_product
-- ----------------------------
DROP TABLE IF EXISTS `yyds_product`;
CREATE TABLE `yyds_product` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`code` varchar(40) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`description` varchar(4000) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`release_date` date NOT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '产品表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of yyds_product
-- ----------------------------
INSERT INTO `yyds_product` VALUES (5, 'X7 PRO-H0804', 'X7-0001', 'X7 PRO-H0804是专为车载视频监控、远程视频监控开发的一款性价比高、功能可扩展性好的设备。它采用高速处理器和嵌入式操作系统,结合IT领域中先进的H.265视频压缩/解压缩技术、4G/3G网络技术、GPS/BD定位技术、WIFI技术。可实现1080P、720P分辨率录像,汽车行驶信息记录和远程视频上传,配合中心软件可实现报警联动的中央远程视频监控、车辆智能调度管理及基于中心数据库的回放分析。产品具有抗振能力强、防电磁干扰、防辐射、外观简洁、安装灵活方便、功能全面、大硬盘存储、SD卡备份设计、可靠性高等特点。', '2020-07-16');
INSERT INTO `yyds_product` VALUES (9, '|UE|商机必填字段校验', 'ASDasdAS', 'sadASDa', '2021-10-09');
SET FOREIGN_KEY_CHECKS = 1;
11,在com.ssm.demo.product包下创建dto和mapper包,并在dto包找中创建Product类,在mapper中创建ProductMapper接口
12 在Product类中添加数据库字段映射属性,并生成对应的getter,setter方法以及toSting方法,最后还需要实现Serializable序列化接口,并且添加一个long类型的静态属性serialVersionUID
13 在ProductMapper接口中添加基本的业务操作方法
14 在resources文件夹下创建与ProductMapper接口包路径一致的文件夹,并在创建的文件夹下创建ProductMapper接口的sql映射配置文件 ProductMapper.xml,创建完成后,再在ProductMapper.xml中为ProductMapper接口的每个方法添加sql语句映射
15 修改IProductService接口中定义的方法,此处主要修改的是方法的返回值类型
16,修改ProductServiceImpl,此处首先加入了ProductMapper类型属性的注入,然后重新实现了IProductService接口中的方法, 最后在方法实现中通过ProductMapper类型属性的方法调用实现对maper层方法的调用
17 修改ProductController类,此处主要是对方法的返回值类型的修改
18 修改web.xml,将contextConfigLocation对应的值由classpath:spring/applicationContext.xml修改classpath:spring/applicationContext*.xml
19,修改HelloServlet类的doGet方法
20 启动web容器,并在浏览器访问 http://localhost:8080/ssmdemo/hello 查看浏览器中的响应结果以及开发工具IDEA控制台的打印数据
由此运行结果看出,SpringIOC,SpringAOP均运行正常,且项目可以正常获取到数据库的数据
至此,Mybatis集成及调试完成