博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringMVC自学日志07(整合Mybatic)
阅读量:3948 次
发布时间:2019-05-24

本文共 6627 字,大约阅读时间需要 22 分钟。

整合步骤

导入相关jar包

junit
junit
4.12
org.mybatis
mybatis
3.5.2
mysql
mysql-connector-java
5.1.47
mysql
mysql-connector-java
5.1.47
org.springframework
spring-webmvc
5.1.10.RELEASE
org.springframework
spring-jdbc
5.1.10.RELEASE
org.aspectj
aspectjweaver
1.9.4
org.mybatis
mybatis-spring
2.0.2
javax.servlet
servlet-api
2.5
javax.servlet.jsp
jsp-api
2.2
javax.servlet
jstl
1.2
mysql
mysql-connector-java
5.1.47
com.mchange
c3p0
0.9.5.2

配置Maven静态资源过滤问题!

src/main/java
**/*.properties
**/*.xml
true

数据库环境

MySQL8以上

Maven
建表

CREATE DATABASE `ssmbuild`;USE `ssmbuild`;DROP TABLE IF EXISTS `books`;CREATE TABLE `books` (  `bookID` INT(10) NOT NULL AUTO_INCREMENT COMMENT '书id',  `bookName` VARCHAR(100) NOT NULL COMMENT '书名',  `bookCounts` INT(11) NOT NULL COMMENT '数量',  `detail` VARCHAR(200) NOT NULL COMMENT '描述',  KEY `bookID` (`bookID`)) ENGINE=INNODB DEFAULT CHARSET=utf8INSERT  INTO `books`(`bookID`,`bookName`,`bookCounts`,`detail`)VALUES (1,'Java',1,'从入门到放弃'),(2,'MySQL',10,'从删库到跑路'),(3,'Linux',5,'从进门到进牢');

配置mybatis-config.xml

配置applicationContext.xml

Mybatis层编写

数据库配置文件 database.properties

jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/ssmbuild?useSSL=true&useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghaijdbc.username=rootjdbc.password=123456

编写MyBatis的核心配置文件

编写数据库对应的实体类 com.kuang.pojo.Books(使用lombok插件!)

package com.kuang.pojo;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;@Data@AllArgsConstructor@NoArgsConstructorpublic class Books {
private int bookID; private String bookName; private int bookCounts; private String detail; }

编写Dao层的 Mapper接口!

package com.kuang.dao;import com.kuang.pojo.Books;import java.util.List;public interface BookMapper {
//增加一个Book int addBook(Books book); //根据id删除一个Book int deleteBookById(int id); //更新Book int updateBook(Books books); //根据id查询,返回一个Book Books queryBookById(int id); //查询全部Book,返回list集合 List
queryAllBook();}

编写接口对应的 Mapper.xml 文件。需要导入MyBatis的包;

insert into ssmbuild.books(bookName,bookCounts,detail) values (#{
bookName}, #{
bookCounts}, #{
detail})
delete from ssmbuild.books where bookID=#{
bookID}
update ssmbuild.books set bookName = #{
bookName},bookCounts = #{
bookCounts},detail = #{
detail} where bookID = #{
bookID}

编写Service层的接口和实现类

接口:

package com.kuang.service;import com.kuang.pojo.Books;import java.util.List;//BookService:底下需要去实现,调用dao层public interface BookService {
//增加一个Book int addBook(Books book); //根据id删除一个Book int deleteBookById(int id); //更新Book int updateBook(Books books); //根据id查询,返回一个Book Books queryBookById(int id); //查询全部Book,返回list集合 List
queryAllBook();}

实现类:

package com.kuang.service;import com.kuang.dao.BookMapper;import com.kuang.pojo.Books;import java.util.List;public class BookServiceImpl implements BookService {
//调用dao层的操作,设置一个set接口,方便Spring管理 private BookMapper bookMapper; public void setBookMapper(BookMapper bookMapper) {
this.bookMapper = bookMapper; } public int addBook(Books book) {
return bookMapper.addBook(book); } public int deleteBookById(int id) {
return bookMapper.deleteBookById(id); } public int updateBook(Books books) {
return bookMapper.updateBook(books); } public Books queryBookById(int id) {
return bookMapper.queryBookById(id); } public List
queryAllBook() {
return bookMapper.queryAllBook(); }}

Spring层

配置Spring整合MyBatis,我们这里数据源使用c3p0连接池;

我们去编写Spring整合Mybatis的相关的配置文件; spring-dao.xml

Spring整合service层

Spring层搞定!再次理解一下,Spring就是一个大杂烩,一个容器!对吧!

SpringMVC层

web.xml

DispatcherServlet
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:applicationContext.xml
1
DispatcherServlet
/
encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
utf-8
encodingFilter
/*
15

spring-mvc.xm

Spring配置整合文件,applicationContext.xml

配置文件,暂时结束!Controller 和 视图层编写

你可能感兴趣的文章
Socket介绍
查看>>
swift-闭包产生的循环引用以及解决办法
查看>>
gitbook安装与使用
查看>>
Apache服务器搭建方法
查看>>
Mac终端常用命令
查看>>
常用算法-冒泡排序代码实现
查看>>
swift 中的 感叹号 问号 和 双问号用法详解
查看>>
C代码:二分法求三次方程近似根
查看>>
swift-自己封装的一个网络工具
查看>>
APP第三方登录实现步骤
查看>>
iOS-数据存储方式介绍
查看>>
KVO & KVC 比较 - KVC
查看>>
iOS-tableView联动
查看>>
iOS--Masonry解决 tableViewCell 重用时约束冲突
查看>>
git 与 svn 的主要区别!
查看>>
iOS-截屏,从相册选择图片,制作磨砂效果图片
查看>>
iOS-截取字符串中两个指定字符串中间的字符串
查看>>
数据库-数据库操作(使用FMDB)
查看>>
swift-计算型属性和存储型属性的区别
查看>>
FMDB介绍以及在 swift 中的数据库操作
查看>>