前言:最近刚学习了spring与mybatis整合,想分享给大家。
整合的顺序:
下面我举一个示例来展示spring和mybatis整合的过程。
查询数据库中smbms_provider表中的全部数据。
1.建立一个数据库smbms和smbms_provider表。
CREATE DATABASE smbms
;
USE smbms
;
DROP TABLE IF EXISTS smbms_provider
;
CREATE TABLE smbms_provider
(
id
bigint(20) NOT NULL AUTO_INCREMENT COMMENT ‘主键ID’,
proCode
varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT ‘供应商编码’,
proName
varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT ‘供应商名称’,
proDesc
varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT ‘供应商详细描述’,
proContact
varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT ‘供应商联系人’,
proPhone
varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT ‘联系电话’,
proAddress
varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT ‘地址’,
proFax
varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT ‘传真’,
createdBy
bigint(20) DEFAULT NULL COMMENT ‘创建者(userId)’,
creationDate
datetime DEFAULT NULL COMMENT ‘创建时间’,
modifyDate
datetime DEFAULT NULL COMMENT ‘更新时间’,
modifyBy
bigint(20) DEFAULT NULL COMMENT ‘更新者(userId)’,
PRIMARY KEY (id
)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*Data for the table smbms_provider
*/
insert into smbms_provider
(id
,proCode
,proName
,proDesc
,proContact
,proPhone
,proAddress
,proFax
,createdBy
,creationDate
,modifyDate
,modifyBy
) values (1,‘BJ_GYS001’,‘北京三木堂商贸有限公司’,‘长期合作伙伴,主营产品:茅台、五粮液、郎酒、酒鬼酒、泸州老窖、赖茅酒、法国红酒等’,‘张国强’,‘13566667777’,‘北京市丰台区育芳园北路’,‘010-58858787’,1,‘2013-03-21 16:52:07’,NULL,NULL),(2,‘HB_GYS001’,‘石家庄帅益食品贸易有限公司’,‘长期合作伙伴,主营产品:饮料、水饮料、植物蛋白饮料、休闲食品、果汁饮料、功能饮料等’,‘王军’,‘13309094212’,‘河北省石家庄新华区’,‘0311-67738876’,1,‘2016-04-13 04:20:40’,NULL,NULL),(3,‘GZ_GYS001’,‘深圳市泰香米业有限公司’,‘初次合作伙伴,主营产品:良记金轮米,龙轮香米等’,‘郑程瀚’,‘13402013312’,‘广东省深圳市福田区深南大道6006华丰大厦’,‘0755-67776212’,1,‘2014-03-21 16:56:07’,NULL,NULL);
2.创建一个maven项目,在pro.xml中导入所需jar包(所有的jar包都可以在maven官网上找到,地址:https://mvnrepository.com/)。
org.springframework
spring-core
4.3.18.RELEASE
org.springframework
spring-context
4.3.18.RELEASE
org.springframework
spring-jdbc
4.3.18.RELEASE
org.springframework
spring-tx
4.3.18.RELEASE
<!--db-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-dbcp2</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.40</version>
</dependency>
<!--mybatis-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.1</version>
</dependency>
<!-- log4j -->
<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.8.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.13</version>
</dependency>
<!-- https://mvnrepository.com/artifact/aopalliance/aopalliance -->
<dependency>
<groupId>aopalliance</groupId>
<artifactId>aopalliance</artifactId>
<version>1.0</version>
</dependency>
</dependencies>
<build>
<!--扫描到xml文件-->
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>
3.首先创建四个类
3.1 实体类pojo中创建一个provider商品类
3.2 dao层创建一个接口ProviderMapper
然后创建接口的实现类ProviderDaoImpl(impl)
3.3 mapper层创建一个UserMapper.xml文件,查询smbms_provider表sql语句。
3.4 逻辑层service创建一个ProviderService类
r然后编写它的实现类ProviderServiceImpl(impl)
4.创建mybatis应用配置文件mybatis-config.xml
5.创建spring应用配置文件applicationContext1.xml
6.创建测试类测试Test
7.执行运行结果