【徒手搭建SSM开发环境六】集成Mybatis

集成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集成及调试完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值