B站教学 同步学习 运用Spring框架 编写书籍APP项目https://www.bilibili.com/video/av71874024?p=17
环境要求
- IDEA
- MySQL(使用Navicat Preminm数据库管理软件)
- Tomcat
- Maven
技术要求:
- 熟练掌握数据库、spring、Javaweb、mybatis的知识,以及简单的前端知识
第一部分:创建数据库阶段
- 在Navicat Preminm中新建连接
接口:3307
用户名密码: root - 编写SQL语句
//创建数据源
CREATE DATABASE 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 '描述',
PRIMARY KEY (bookID)
);
ENGINE=INNODB DEFAULT CHARSET(utf-8)
//插入3条数据
INSERT INTO books(bookID,bookName,bookCounts,detail)VALUES
(1,'java',12,'从入门到放弃'),
(2,'MySql',10,'从删库到跑路'),
(3,'Linux',5,'从进门到进牢');
-
结果如下:
第二部分:IDEA 编写SSM框架代码阶段
0. 准备工作:
- 在IDEA中新建Maven工程
- 新项目需要注意在 file->settings->Maven 中设置本地maven仓库
具体操作请点击查看
-
IDEA连接数据库的方法:
当点击测试出现因时区而产生错误时:
-
- 解决办法1:
-
-
解决办法2:(未测试)
-
1. mybatis层:
- 首先在pom.xml中配置依赖的jar包:
4.0.0
com.lht
SpringBooks
1.0-SNAPSHOT
junit
junit
4.12
mysql
mysql-connector-java
5.1.47
com.mchange
c3p0
0.9.5.2
javax.servlet
servlet-api
2.5
javax.servlet.jsp
jsp-api
2.2
javax.servlet
jstl
1.2
org.mybatis
mybatis
3.5.2
org.mybatis
mybatis-spring
2.0.2
org.springframework
spring-webmvc
5.1.9.RELEASE
org.springframework
spring-jdbc
5.1.9.RELEASE
org.projectlombok
lombok
1.16.10
src/main/java
**/*.properties
**/*.xml
false
src/main/resources
**/*.properties
**/*.xml
false
在main->resources下创建:
applicationContext.xml
database.properties
mybatis-config.xml-
- applicationContext.xml中的内容:
-
- database.properties中的内容:
jdbc.driver=com.mysql.jdbc.Driver
#如果使用的是MySQL8.0+,增加一个时区的配置; &serverTimezone=Asia/Shanghai
jdbc.url=jdbc:mysql://localhost:3307/books?useSSL=true&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
jdbc.username=root
jdbc.password=root
-
- mybatis-config.xml中的内容(这个文件是有关mybatis的全局配置):
有关typeAliases的详解
-
- 在pojo中创建实体类(Books):
package com.lht.pojo;
import lombok.Data;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
/**
* 实体类
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Books {
private int bookID;
private String bookName;
private int bookCounts;
private String detail;
}
有关lombok的详解
-
- 在dao中创建A接口(DAO层操作):
package com.lht.dao;
import com.lht.pojo.Books;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* DAO层
*/
public interface BookMapper {
//添加书
int addBook(Books books);
//删除书
int deleteBooksById(@Param("bookID") int id);//#{}里面的名称对应的是注解@Param括号里面修饰的名称。
//更新书
int updateBook(Books books);
//查询书
Books queryBookById(@Param("bookID") int id);
//查询所有
List queryAllBook();
}
有关@Param的详解
-
- 在dao中创建A接口对应的SQL语句配置文件:
insert into books.books(bookName, bookCounts, detail)
values (#{bookName},#{bookCounts},#{detail})
delete from books.books
where bookID=#{bookID}
update books.books
set bookName=#{bookName},bookCounts=#{bookCounts},detail=#{detail}
where bookID=#{bookID}
-
- 在service中创建B接口(业务层):
package com.lht.service;
import com.lht.pojo.Books;
import java.util.List;
/**
* 业务层
*/
public interface BookService {
//添加书
int addBook(Books books);
//删除书
int deleteBooksById(int id);
//更新书
int updateBook(Books books);
//查询书
Books queryBookById(int id);
//查询所有
List queryAllBook();
}
-
- 在service子文件夹impl中创建B接口的实现类(业务层操作):
package com.lht.service.impl;
import com.lht.dao.BookMapper;
import com.lht.pojo.Books;
import com.lht.service.BookService;
import java.util.List;
/**
* 业务层调DAO层,实现具体方法:组合DAO
*/
public class BookServiceImpl implements BookService {
//业务层调DAO层:组合DAO
private BookMapper bookMapper;
public void setBookMapper(BookMapper bookMapper) {
//将来可以在此处横切、增强业务
this.bookMapper = bookMapper;
}
public int addBook(Books books) {
//将来可以在此处横切、增强业务
return bookMapper.addBook(books);
}
public int deleteBooksById(int id) {
//将来可以在此处横切、增强业务
return bookMapper.deleteBooksById(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();
}
}
2. spring层:
- 首先在resources下创建:
spring-dao.xml
spring-service.xml -
- spring-dao.xml是spring用来整合DAO的配置文件,内容:
-
- spring-service.xml是spring用来整合service业务的配置文件,内容:
3. springMVC层:
-
首先将SpringBooks项目右击->选择Add Frameworks Support->勾选Web Application添加:
WEB-INF下的web.xml,内容:
springMVC
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:spring-mvc.xml
1
springMVC
/
encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
utf-8
encodingFilter
/*
15
- 在resources下添加spring-mvc.xml,此配置文件是spring整合M(配置模型)V(配置视图解析器)C(配置控制器),内容:
- applicationContext.xml是spring总配置文件,用来整合其他配置文件(使用import引入其他配置文件),内容:
第三部分:IDEA 编写业务/逻辑代码阶段