如何从0开始集成Spring和mybatis;

1.新建数据库:

CREATE DATABASE /*!32312 IF NOT EXISTS*/`smbms`
USE `smbms`;
DROP TABLE IF EXISTS `smbms_address`;
CREATE TABLE `smbms_address` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',`contact` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '联系人姓名',`addressDesc` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '收货地址明细',`postCode` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '邮编',`tel` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '联系人电话',`createdBy` bigint(20) DEFAULT NULL COMMENT '创建者',`creationDate` datetime DEFAULT NULL COMMENT '创建时间',`modifyBy` bigint(20) DEFAULT NULL COMMENT '修改者',`modifyDate` datetime DEFAULT NULL COMMENT '修改时间',`userId` bigint(20) DEFAULT NULL COMMENT '用户ID',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;/*Data for the table `smbms_address` */insert  into `smbms_address`(`id`,`contact`,`addressDesc`,`postCode`,`tel`,`createdBy`,`creationDate`,`modifyBy`,`modifyDate`,`userId`) values (1,'王丽','北京市东城区东交民巷44号','100010','13678789999',1,'2016-04-13 00:00:00',NULL,NULL,1),(2,'张红丽','北京市海淀区丹棱街3号','100000','18567672312',1,'2016-04-13 00:00:00',NULL,NULL,1),(3,'任志强','北京市东城区美术馆后街23号','100021','13387906742',1,'2016-04-13 00:00:00',NULL,NULL,1),(4,'曹颖','北京市朝阳区朝阳门南大街14号','100053','13568902323',1,'2016-04-13 00:00:00',NULL,NULL,2),(5,'李慧','北京市西城区三里河路南三巷3号','100032','18032356666',1,'2016-04-13 00:00:00',NULL,NULL,3),(6,'王国强','北京市顺义区高丽营镇金马工业区18号','100061','13787882222',1,'2016-04-13 00:00:00',NULL,NULL,3);/*Table structure for table `smbms_bill` */DROP TABLE IF EXISTS `smbms_bill`;CREATE TABLE `smbms_bill` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',`billCode` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '账单编码',`productName` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '商品名称',`productDesc` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '商品描述',`productUnit` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '商品单位',`productCount` decimal(20,2) DEFAULT NULL COMMENT '商品数量',`totalPrice` decimal(20,2) DEFAULT NULL COMMENT '商品总额',`isPayment` int(10) DEFAULT NULL COMMENT '是否支付(1:未支付 2:已支付)',`createdBy` bigint(20) DEFAULT NULL COMMENT '创建者(userId)',`creationDate` datetime DEFAULT NULL COMMENT '创建时间',`modifyBy` bigint(20) DEFAULT NULL COMMENT '更新者(userId)',`modifyDate` datetime DEFAULT NULL COMMENT '更新时间',`providerId` int(20) DEFAULT NULL COMMENT '供应商ID',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;/*Data for the table `smbms_bill` */insert  into `smbms_bill`(`id`,`billCode`,`productName`,`productDesc`,`productUnit`,`productCount`,`totalPrice`,`isPayment`,`createdBy`,`creationDate`,`modifyBy`,`modifyDate`,`providerId`) values (1,'BILL2016_001','洗发水、护发素','日用品-洗发、护发','瓶','500.00','25000.00',2,1,'2014-12-14 13:02:03',NULL,NULL,13),(2,'BILL2016_002','香皂、肥皂、药皂','日用品-皂类','块','1000.00','10000.00',2,1,'2016-03-23 04:20:40',NULL,NULL,13),(3,'BILL2016_003','大豆油','食品-食用油','斤','300.00','5890.00',2,1,'2014-12-14 13:02:03',NULL,NULL,6),(4,'BILL2016_004','橄榄油','食品-进口食用油','斤','200.00','9800.00',2,1,'2013-10-10 03:12:13',NULL,NULL,7),(5,'BILL2016_005','洗洁精','日用品-厨房清洁','瓶','500.00','7000.00',2,1,'2014-12-14 13:02:03',NULL,NULL,9),(6,'BILL2016_006','美国大杏仁','食品-坚果','袋','300.00','5000.00',2,1,'2016-04-14 06:08:09',NULL,NULL,4),(7,'BILL2016_007','沐浴液、精油','日用品-沐浴类','瓶','500.00','23000.00',1,1,'2016-07-22 10:10:22',NULL,NULL,14),(8,'BILL2016_008','不锈钢盘碗','日用品-厨房用具','个','600.00','6000.00',2,1,'2016-04-14 05:12:13',NULL,NULL,14),(9,'BILL2016_009','塑料杯','日用品-杯子','个','350.00','1750.00',2,1,'2016-02-04 11:40:20',NULL,NULL,14),(10,'BILL2016_010','豆瓣酱','食品-调料','瓶','200.00','2000.00',2,1,'2013-10-29 05:07:03',NULL,NULL,8),(11,'BILL2016_011','海之蓝','饮料-国酒','瓶','50.00','10000.00',1,1,'2016-04-14 16:16:00',NULL,NULL,1),(12,'BILL2016_012','芝华士','饮料-洋酒','瓶','20.00','6000.00',1,1,'2016-09-09 17:00:00',NULL,NULL,1),(13,'BILL2016_013','长城红葡萄酒','饮料-红酒','瓶','60.00','800.00',2,1,'2016-11-14 15:23:00',NULL,NULL,1),(14,'BILL2016_014','泰国香米','食品-大米','斤','400.00','5000.00',2,1,'2016-10-09 15:20:00',NULL,NULL,3),(15,'BILL2016_015','东北大米','食品-大米','斤','600.00','4000.00',2,1,'2016-11-14 14:00:00',NULL,NULL,3),(16,'BILL2016_016','可口可乐','饮料','瓶','2000.00','6000.00',2,1,'2012-03-27 13:03:01',NULL,NULL,2),(17,'BILL2016_017','脉动','饮料','瓶','1500.00','4500.00',2,1,'2016-05-10 12:00:00',NULL,NULL,2),(18,'BILL2016_018','哇哈哈','饮料','瓶','2000.00','4000.00',2,1,'2015-11-24 15:12:03',NULL,NULL,2);/*Table structure for table `smbms_provider` */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),(4,'GZ_GYS002','深圳市喜来客商贸有限公司','长期合作伙伴,主营产品:坚果炒货.果脯蜜饯.天然花茶.营养豆豆.特色美食.进口食品.海味零食.肉脯肉','林妮','18599897645','广东省深圳市福龙工业区B2栋3楼西','0755-67772341',1,'2013-03-22 16:52:07',NULL,NULL),(5,'JS_GYS001','兴化佳美调味品厂','长期合作伙伴,主营产品:天然香辛料、鸡精、复合调味料','徐国洋','13754444221','江苏省兴化市林湖工业区','0523-21299098',1,'2015-11-22 16:52:07',NULL,NULL),(6,'BJ_GYS002','北京纳福尔食用油有限公司','长期合作伙伴,主营产品:山茶油、大豆油、花生油、橄榄油等','马莺','13422235678','北京市朝阳区珠江帝景1号楼','010-588634233',1,'2012-03-21 17:52:07',NULL,NULL),(7,'BJ_GYS003','北京国粮食用油有限公司','初次合作伙伴,主营产品:花生油、大豆油、小磨油等','王驰','13344441135','北京大兴青云店开发区','010-588134111',1,'2016-04-13 00:00:00',NULL,NULL),(8,'ZJ_GYS001','慈溪市广和绿色食品厂','长期合作伙伴,主营产品:豆瓣酱、黄豆酱、甜面酱,辣椒,大蒜等农产品','薛圣丹','18099953223','浙江省宁波市慈溪周巷小安村','0574-34449090',1,'2013-11-21 06:02:07',NULL,NULL),(9,'GX_GYS001','优百商贸有限公司','长期合作伙伴,主营产品:日化产品','李立国','13323566543','广西南宁市秀厢大道42-1号','0771-98861134',1,'2013-03-21 19:52:07',NULL,NULL),(10,'JS_GYS002','南京火头军信息技术有限公司','长期合作伙伴,主营产品:不锈钢厨具等','陈女士','13098992113','江苏省南京市浦口区浦口大道1号新城总部大厦A座903室','025-86223345',1,'2013-03-25 16:52:07',NULL,NULL),(11,'GZ_GYS003','广州市白云区美星五金制品厂','长期合作伙伴,主营产品:海绵床垫、坐垫、靠垫、海绵枕头、头枕等','梁天','13562276775','广州市白云区钟落潭镇福龙路20号','020-85542231',1,'2016-12-21 06:12:17',NULL,NULL),(12,'BJ_GYS004','北京隆盛日化科技','长期合作伙伴,主营产品:日化环保清洗剂,家居洗涤专卖、洗涤用品网、墙体除霉剂、墙面霉菌清除剂等','孙欣','13689865678','北京市大兴区旧宫','010-35576786',1,'2014-11-21 12:51:11',NULL,NULL),(13,'SD_GYS001','山东豪克华光联合发展有限公司','长期合作伙伴,主营产品:洗衣皂、洗衣粉、洗衣液、洗洁精、消杀类、香皂等','吴洪转','13245468787','山东济阳济北工业区仁和街21号','0531-53362445',1,'2015-01-28 10:52:07',NULL,NULL),(14,'JS_GYS003','无锡喜源坤商行','长期合作伙伴,主营产品:日化品批销','周一清','18567674532','江苏无锡盛岸西路','0510-32274422',1,'2016-04-23 11:11:11',NULL,NULL),(15,'ZJ_GYS002','乐摆日用品厂','长期合作伙伴,主营产品:各种中、高档塑料杯,塑料乐扣水杯(密封杯)、保鲜杯(保鲜盒)、广告杯、礼品杯','王世杰','13212331567','浙江省金华市义乌市义东路','0579-34452321',1,'2016-08-22 10:01:30',NULL,NULL);/*Table structure for table `smbms_role` */DROP TABLE IF EXISTS `smbms_role`;CREATE TABLE `smbms_role` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',`roleCode` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '角色编码',`roleName` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '角色名称',`createdBy` bigint(20) DEFAULT NULL COMMENT '创建者',`creationDate` datetime DEFAULT NULL COMMENT '创建时间',`modifyBy` bigint(20) DEFAULT NULL COMMENT '修改者',`modifyDate` datetime DEFAULT NULL COMMENT '修改时间',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;/*Data for the table `smbms_role` */insert  into `smbms_role`(`id`,`roleCode`,`roleName`,`createdBy`,`creationDate`,`modifyBy`,`modifyDate`) values (1,'SMBMS_ADMIN','系统管理员',1,'2016-04-13 00:00:00',NULL,NULL),(2,'SMBMS_MANAGER','经理',1,'2016-04-13 00:00:00',NULL,NULL),(3,'SMBMS_EMPLOYEE','普通员工',1,'2016-04-13 00:00:00',NULL,NULL);/*Table structure for table `smbms_user` */DROP TABLE IF EXISTS `smbms_user`;CREATE TABLE `smbms_user` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',`userCode` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '用户编码',`userName` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '用户名称',`userPassword` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '用户密码',`gender` int(10) DEFAULT NULL COMMENT '性别(1:女、 2:男)',`birthday` date DEFAULT NULL COMMENT '出生日期',`phone` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '手机',`address` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '地址',`userRole` int(10) DEFAULT NULL COMMENT '用户角色(取自角色表-角色id)',`createdBy` bigint(20) DEFAULT NULL COMMENT '创建者(userId)',`creationDate` datetime DEFAULT NULL COMMENT '创建时间',`modifyBy` bigint(20) DEFAULT NULL COMMENT '更新者(userId)',`modifyDate` datetime DEFAULT NULL COMMENT '更新时间',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;/*Data for the table `smbms_user` */insert  into `smbms_user`(`id`,`userCode`,`userName`,`userPassword`,`gender`,`birthday`,`phone`,`address`,`userRole`,`createdBy`,`creationDate`,`modifyBy`,`modifyDate`) values (1,'admin','系统管理员','1234567',1,'1983-10-10','13688889999','北京市海淀区成府路207号',1,1,'2013-03-21 16:52:07',NULL,NULL),(2,'liming','李明','0000000',2,'1983-12-10','13688884457','北京市东城区前门东大街9号',2,1,'0000-00-00 00:00:00',NULL,NULL),(5,'hanlubiao','韩路彪','0000000',2,'1984-06-05','18567542321','北京市朝阳区北辰中心12号',2,1,'2014-12-31 19:52:09',NULL,NULL),(6,'zhanghua','张华','0000000',1,'1983-06-15','13544561111','北京市海淀区学院路61号',3,1,'2013-02-11 10:51:17',NULL,NULL),(7,'wangyang','王洋','0000000',2,'1982-12-31','13444561124','北京市海淀区西二旗辉煌国际16层',3,1,'2014-06-11 19:09:07',NULL,NULL),(8,'zhaoyan','赵燕','0000000',1,'1986-03-07','18098764545','北京市海淀区回龙观小区10号楼',3,1,'2016-04-21 13:54:07',NULL,NULL),(10,'sunlei','孙磊','0000000',2,'1981-01-04','13387676765','北京市朝阳区管庄新月小区12楼',3,1,'2015-05-06 10:52:07',NULL,NULL),(11,'sunxing','孙兴','0000000',2,'1978-03-12','13367890900','北京市朝阳区建国门南大街10号',3,1,'2016-11-09 16:51:17',NULL,NULL),(12,'zhangchen','张晨','0000000',1,'1986-03-28','18098765434','朝阳区管庄路口北柏林爱乐三期13号楼',3,1,'2016-08-09 05:52:37',1,'2016-04-14 14:15:36'),(13,'dengchao','邓超','0000000',2,'1981-11-04','13689674534','北京市海淀区北航家属院10号楼',3,1,'2016-07-11 08:02:47',NULL,NULL),(14,'yangguo','杨过','0000000',2,'1980-01-01','13388886623','北京市朝阳区北苑家园茉莉园20号楼',3,1,'2015-02-01 03:52:07',NULL,NULL),(15,'zhaomin','赵敏','0000000',1,'1987-12-04','18099897657','北京市昌平区天通苑3区12号楼',2,1,'2015-09-12 12:02:12',NULL,NULL);

2. 新建maven项目:

3.在pom.xml中添加如下配置:

<dependencies><!--spring核心--><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.2.7.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>5.2.7.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-expression</artifactId><version>5.2.7.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>5.2.7.RELEASE</version></dependency><!--spring-mybatis--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>2.0.5</version></dependency><!--mybatis--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.5</version></dependency><!--数据库连接池技术--><dependency><groupId>com.mchange</groupId><artifactId>c3p0</artifactId><version>0.9.5.5</version></dependency><!--(spring和mybatis整合时spring会掌管JDBC)--><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.2.7.RELEASE</version></dependency><!--单元测试--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13</version><scope>test</scope></dependency><!--log日志打印--><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.15</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.10</version></dependency><dependency><groupId>jakarta.annotation</groupId><artifactId>jakarta.annotation-api</artifactId><version>1.3.5</version></dependency><dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.9.5</version></dependency><dependency><groupId>aopalliance</groupId><artifactId>aopalliance</artifactId><version>1.0</version></dependency><!--mybatis分页插件--><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>4.1.0</version></dependency></dependencies>

4.新建如下文件

5.配置db.properties

driver=com.mysql.cj.jdbc.Driver
username=[您的数据库用户名]
password=[您的数据库密码]
url=jdbc:mysql://localhost:3306/smbms

6. 配置applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"xmlns:aop="http://www.springframework.org/schema/aop"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop https://www.springframework.org/schema/aop/spring-aop.xsd"><!--开启注解扫描--><context:component-scan base-package="cn.shijianxin"/><!--加载配置文件 .properties--><context:property-placeholder location="db.properties"/><!--设置数据源--><bean class="com.mchange.v2.c3p0.ComboPooledDataSource" id="dataSource"><property name="user" value="${username}"/><property name="password" value="${password}"/><property name="jdbcUrl" value="${url}"/><property name="driverClass" value="${driver}"/></bean><!--加载数据源(spring中加载mybatis)--><bean class="org.mybatis.spring.SqlSessionFactoryBean" id="sqlSessionFactory"><property name="dataSource" ref="dataSource"/><property  name="typeAliasesPackage" value="cn.shijianxin.pojo"/><property name="mapperLocations" value="mappers/*Mapper.xml"/><!--分页设置--><property name="plugins"><array><bean class="com.github.pagehelper.PageHelper"><property name="properties"><value></value></property></bean></array></property></bean><!--创建sqlSessionTemplate--><!--    <bean class="org.mybatis.spring.SqlSessionTemplate" id="sessionTemplate">--><!--        <constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory"/>--><!--    </bean>--><!--注入UserMapper--><!--    <bean class="cn.jdbc.jianxin.springMybatis.dao.impl.UserMapperImpl" id="userMapper">--><!--        <property name="sqlSessionTemplate" ref="sessionTemplate"/>--><!--    </bean>--><!--以下两个均可替换上面的两个Bean--><!--自动扫描 将Mapper接口生成代理注入到Spring--><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="cn.shijianxin.dao"/></bean><!--    <bean class="org.mybatis.spring.mapper.MapperFactoryBean">--><!--        <property name="sqlSessionFactory" ref="sqlSessionFactory"/>--><!--        <property name="mapperInterface" value="cn.jdbc.jianxin.springMybatis.dao.UserMapper"/>--><!--    </bean>--><!--配置事务管理器(将事务交给spring来管理)--><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource"/></bean>
<!--    &lt;!&ndash; 配置事务传播特性&ndash;&gt;-->
<!--    <tx:advice id="txadvice" transaction-manager="transactionManager">-->
<!--        <tx:attributes>-->
<!--            <tx:method name="*" rollback-for="java.lang.RuntimeException" timeout="-1" propagation="REQUIRED"/>-->
<!--            <tx:method name="insertUser" rollback-for="java.lang.RuntimeException" timeout="-1" propagation="REQUIRES_NEW"/>-->
<!--        </tx:attributes>-->
<!--    </tx:advice>-->
<!--    &lt;!&ndash;配置参与事务的类&ndash;&gt;-->
<!--    <aop:config>-->
<!--        <aop:advisor advice-ref="txadvice" pointcut="execution(* cn.shijianxin.service.*.*(..))"/>-->
<!--    </aop:config>--><!--使用直接实现声明式事务--><tx:annotation-driven transaction-manager="transactionManager"/>
</beans>

7.完成java类的编写:

7.1 User类
package duqiankeji.pojo;import lombok.Data;/*** @author shijianxin* @date 2020/7/28 16:53*/
@Data
public class User {private Long id;private String userCode;private String userName;private String userPassword;
}
7.2 UserMapper类
package duqiankeji.dao;import duqiankeji.pojo.User;import java.util.List;/*** @author shijianxin* @date 2020/7/28 16:53*/
public interface UserMapper {public List<User> queryUser();public Integer addUser(User user);public Integer deleteUser(User user);public Integer updateUser(User user);
}
7.3UserMapperImpl
package duqiankeji.dao.impl;import duqiankeji.dao.UserMapper;
import duqiankeji.pojo.User;
import org.mybatis.spring.SqlSessionTemplate;import java.util.List;/*** @author shijianxin* @date 2020/7/28 16:52*/
public class UserMapperImpl implements UserMapper {private SqlSessionTemplate sqlSessionTemplate;public void setSqlSessionTemplate(SqlSessionTemplate sqlSessionTemplate) {this.sqlSessionTemplate = sqlSessionTemplate;}public List<User> queryUser() {return sqlSessionTemplate.selectList("duqiankeji.dao.UserMapper.queryUser");}public Integer addUser(User user) {return sqlSessionTemplate.insert("duqiankeji.dao.UserMapper.addUser");}public Integer deleteUser(User user) {return sqlSessionTemplate.delete("duqiankeji.dao.UserMapper.deleteUser");}public Integer updateUser(User user) {return sqlSessionTemplate.update("duqiankeji.dao.UserMapper.updateUser");}
}
7.4UserService类
package duqiankeji.service;import duqiankeji.pojo.User;import java.util.List;/*** @author shijianxin* @date 2020/7/28 16:53*/
public interface UserService {public List<User> queryUser();public void addUser(User user);public void deleteUser(User user);public void updateUser(User user);public void pageUser();
}
7.5UserServiceImpl类
package duqiankeji.service.impl;import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import duqiankeji.dao.UserMapper;
import duqiankeji.pojo.User;
import duqiankeji.service.UserService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;/*** @author shijianxin* @date 2020/7/28 16:53*/
@Service("userService")
public class UserServiceImpl implements UserService {@Resourceprivate UserMapper userMapper;public List<User> queryUser() {return userMapper.queryUser();}public void addUser(User user) {if (userMapper.addUser(user) > 0){System.out.println("add user success");}}public void deleteUser(User user) {if (userMapper.deleteUser(user) > 0){System.out.println("delete user success");}}public void updateUser(User user) {if (userMapper.updateUser(user) > 0){System.out.println("update user success");}}public void pageUser() {//开始分页PageHelper.startPage(1,5);List<User> users = userMapper.queryUser();List<User> finallyUser = new ArrayList<User>();for (User user1 : users) {User user2 = new User();BeanUtils.copyProperties(user1,user2);finallyUser.add(user2);}System.out.println(users);PageInfo pageInfo = new PageInfo(users);System.out.println(pageInfo);//分页结束}
}

8.编写UserMapper.xml类

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="duqiankeji.dao.UserMapper"><insert id="addUser">INSERT INTO smbms_user (userCode,userName,userPassword) VALUES(#{userCode},#{userName},#{userPassword})</insert><update id="updateUser">UPDATE smbms_user SET userName=#{userName},userCode=#{userCode},userPassword=#{userPassword} WHERE id = #{id}</update><delete id="deleteUser">delete from smbms_user where id = #{id}</delete><select id="queryUser" resultType="duqiankeji.pojo.User">select * from smbms_user</select>
</mapper>

9. 编写测试类:

package duqiankeji.service.impl;import duqiankeji.pojo.User;
import duqiankeji.service.UserService;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;import static org.junit.Assert.*;/*** @author shijianxin* @date 2020/7/28 17:31*/
public class UserServiceImplTest {String resource = "applicationContext.xml";ApplicationContext context = new ClassPathXmlApplicationContext(resource);UserService userService = context.getBean("userService",UserService.class);User user = new User();@Testpublic void queryUser() {System.out.println(userService.queryUser());}@Testpublic void addUser() {user.setUserName("渡阡科技");user.setUserPassword("123456");user.setUserCode("2020-06-18");userService.addUser(user);}@Testpublic void deleteUser() {user.setId(31L);userService.deleteUser(user);}@Testpublic void updateUser() {user.setId(31L);user.setUserName("zhangsan");user.setUserPassword("1291929");user.setUserCode("2020-02-02");userService.updateUser(user);}@Testpublic void pageUser() {userService.pageUser();}
}

至此,mybatis和Spring整合完毕,看完觉得有用的,还劳烦您点个赞

从0开始集成Spring和mybatis相关推荐

  1. maven+spring mvc+mybatis+redis+dubbo+zookeeper

    2019独角兽企业重金招聘Python工程师标准>>> 黎孟阳 随笔 - 6, 文章 - 0, 评论 - 0, 引用 - 0 maven+spring mvc+mybatis+red ...

  2. Maven+Spring+Spring MVC+MyBatis+MySQL,搭建SSM框架环境【转】

    项目建设完成之后的结构: 数据库的表结构如下: 环境建设:搭建Maven环境.Tomcat环境.需要MySql 数据库支持,使用的编程工具Eclipse (这些是前期准备): 开始创建工程: 1.创建 ...

  3. maven创建SSM(Spring + Spring MVC +Mybatis)项目时的porn.xml文件下各个依赖包的作用

    从上到下依次进行说明 首先是这个: <properties><project.build.sourceEncoding>UTF-8</project.build.sour ...

  4. SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)

    登录 | 注册 收藏成功 确定 收藏失败,请重新收藏 确定 查看所有私信查看所有通知 暂没有新通知 想要绕过微信小程序开发中的坑吗?不妨来听这个,今晚8点,1小时帮你搞定! 14小时以前 CSDN日报 ...

  5. SSM框架整合(Spring+SpringMVC+MyBatis)

    输出结果 1.Maven Web项目创建 之前有写过Eclipse+Maven创建web项目的帖子,如果需要,请参考这里写链接内容 创建好项目之后因为入下图: 2.SSM整合 2.1 引入需要的JAR ...

  6. SSM框架——Spring+SpringMVC+Mybatis的搭建教程

    一:概述 SSM框架在项目开发中经常使用到,相比于SSH框架,它在仅几年的开发中运用的更加广泛. Spring作为一个轻量级的框架,有很多的拓展功能,最主要的我们一般项目使用的就是IOC和AOP. S ...

  7. [转]SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)

    使用SSM(spring.SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方.之前没有记录SSM整合 ...

  8. Spring+SpringMVC+MyBatis整合教程

    2019独角兽企业重金招聘Python工程师标准>>> 1.基本概念 1.1.Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框 ...

  9. SSM框架Spring+SpringMVC+MyBatis——详细整合教程

    2019独角兽企业重金招聘Python工程师标准>>> 摘要: 包括SQL Maps和Data Access Objects(DAO)MyBatis 消除了几乎所有的JDBC代码和参 ...

最新文章

  1. 构建DevOps功能:云计算自动化
  2. 基于 Go 语言构建企业级的 RESTful API 服务
  3. LeetCode Queue Reconstruction by Height(贪心)
  4. MPLS的几种备份方式——Vecloud
  5. 不吹不黑,赞一下应用运维管理的cassacdra
  6. 万年历单片机c语言,单片机+lcd12864液晶万年历C程序
  7. python字典的遍历方法_遍历python字典几种方法
  8. TensorFlow基础笔记(5) VGGnet_test
  9. java 1m_Java编程测试1M内存可用来缓存多少对象
  10. 久等了,你要的 Python 书籍推荐,来了
  11. preg_match进行正则表达式匹配
  12. python selenium 对浏览器标签页进行关闭和切换
  13. 如何手动释放linux内存的方法,centos手动释放内存的方法
  14. 通过Wireshark获取宽带账号密码
  15. steam用移动网不显示头像
  16. 爬虫小程序 - 周杰伦歌曲
  17. 鸿蒙系统的发展前景,国产系统大有可为!从鸿蒙看未来操作系统的大潮
  18. 如何在Google表格中使用QUERY函数
  19. Aleo Wagyu钱包
  20. 怎样查找某个外文期刊的文献?

热门文章

  1. 工业环境中的数字孪生:最先进的技术
  2. Matlab三维折线图绘制–surf 函数的使用
  3. 论vbs----从vbs基础语法 到 用VBS搞怪
  4. FL Studio 2023最新发布的21版本新功能介绍/主题包/下载安装激活教程
  5. 重装系统后XAMPP启动APACHE报错解决方法
  6. 上海九方云智能科技有限公司:白酒股价下跌受何影响?
  7. 鑫优尚电子商务:如何在社交媒体营销中找到自己的目标受众?
  8. 【Linux】解决VirtualBox下Ubuntu开机后黑屏
  9. 通过mac地址找设备的IP地址
  10. 【转】 COM 免注册技术