当前位置:网站首页>整合ssm(一)
整合ssm(一)
2022-08-02 05:04:00 【橘子ꦿ.๓】
项目整体结构

数据库环境
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=utf8
INSERT INTO `books`(`bookID`,`bookName`,`bookCounts`,`detail`)VALUES
(1,'Java',1,'从入门到放弃'),
(2,'MySQL',10,'从删库到跑路'),
(3,'Linux',5,'从进门到进牢');环境依赖
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.bdqn</groupId>
<artifactId>ssmbuild</artifactId>
<version>1.0-SNAPSHOT</version>
<!--依赖:Junit,数据库驱动,连接池,servlet,jsp,mybatis,mybattis-spring,spring-->
<!--Junit-->
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<!--数据库驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
<!--数据库连接池-->
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.2</version>
</dependency>
<!--添加Servlet和JSP依赖-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.75</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.2.7.RELEASE</version>
</dependency>
<!--Mybatis-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.2</version>
</dependency>
<!--Spring-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.13</version>
</dependency>
<!--Lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.10</version>
</dependency>
</dependencies>Maven资源过滤问题
<!--静态资源导出失败问题-->
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
</project>建立基本结构
1.com.bdqn.pojo
2.com.bdqn.dao
3.com.bdqn.service
4.com.bdqn.controllermybatis-config.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
</configuration>Mapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="">
</mapper>Spring的配置文件
spring-mvc.xml、spring-service.xml、spring-dao.xml,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"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/springbeans.xsd">
</beans>Mybatis层编写
数据库配置文件:jdbc.properties
在resources目录下jdbc.properties
jdbc.driver=com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/ssmbuild?useSSL=true&characterEncoding=utf-8
jdbc.username=root
jdbc.password=123456MyBatis的核心配置文件 mybatis-config.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>
<!--配置数据源,交给Spring去做-->
<typeAliases>
<package name="com.bdqn.pojo"/>
</typeAliases>
<mappers>
<mapper class="com.bdqn.dao.BookMapper"></mapper>
</mappers>
</configuration>编写数据库对应的实体类
package com.bdqn.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Books {
private int bookId;
private String bookName;
private int bookCounts;
private String detail;
}
编写Dao层的Mapper接口
package com.bdqn.dao;
import com.bdqn.pojo.Books;
import org.apache.ibatis.annotations.Param;
import java.awt.print.Book;
import java.util.List;
public interface BookMapper {
//增加一本书
int addBooks(Books books);
//删除一本书
int deleteBookById(@Param("bookId") int id);
//更新一本书
int updateBook(Books books);
//查询一本书
Books queryBookById(@Param("bookId") int id);
//查询全部书
List<Books> queryAllBook();
//根据书名查询信息
Books queryBookByName(@Param("bookName")String bookName);
}
编写接口对应的Mapper.xml文件。需要导入MyBatis的包
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bdqn.dao.BookMapper">
//增加一个book
<insert id="addBooks" parameterType="Books">
insert into ssmbuild.books(bookName, bookCounts, detail)
values (#{bookName},#{bookCounts},#{detail})
</insert>
//根据id删除一个book
<delete id="deleteBookById" parameterType="int">
delete from ssmbuild.books where bookId=#{bookId}
</delete>
//更新book
<update id="updateBook" parameterType="Books">
update ssmbuild.books
set bookName=#{bookName},bookCounts=#{bookCounts},detail=#{detail}
where bookId=#{bookId};
</update>
//根据id查询返回一个book
<select id="queryBookById" resultType="Books">
select * from ssmbuild.books
where bookId=#{bookId}
</select>
//查询全部书籍
<select id="queryAllBook" resultType="Books">
select * from ssmbuild.books;
</select>
//通过书名查找书籍
<select id="queryBookByName" resultType="Books">
select * from ssmbuild.books where bookName=#{bookName};
</select>
</mapper>
编写Service层的接口和实现类
BookService接口
package com.bdqn.service;
import com.bdqn.pojo.Books;
import java.util.List;
public interface BookService {
//增加一本书
int addBooks(Books books);
//删除一本书
int deleteBookById(int id);
//更新一本书
int updateBook(Books books);
//查询一本书
Books queryBookById(int id);
//查询全部书
List<Books> queryAllBook();
//根据书名查询信息
Books queryBookByName(String bookName);
}
BookServiceImpl实现类
package com.bdqn.service;
import com.bdqn.dao.BookMapper;
import com.bdqn.pojo.Books;
import java.util.List;
public class BookServiceImpl implements BookService {
//service调dao层: 组合dao
private BookMapper bookMapper;
public void setBookMapper(BookMapper bookMapper) {
this.bookMapper = bookMapper;
}
public int addBooks(Books books) {
return bookMapper.addBooks(books);
}
public int deleteBookById(int id) {
return bookMapper.deleteBookById(id);
}
public int updateBook(Books books) {
System.out.println("BookServiceImpl:updateBook=>"+books);
return bookMapper.updateBook(books);
}
public Books queryBookById(int id) {
return bookMapper.queryBookById(id);
}
public List<Books> queryAllBook() {
return bookMapper.queryAllBook();
}
public Books queryBookByName(String bookName) {
return bookMapper.queryBookByName(bookName);
}
}
边栏推荐
- The original question on the two sides of the automatic test of the byte beating (arranged according to the recording) is real and effective 26
- Matlab学习第二天
- apisix-Getting Started
- Mysql子查询关键字的使用(exists)
- [PSQL] 函数、谓词、CASE表达式、集合运算
- mysql实现按照自定义(指定顺序)排序
- Go语言中定时任务库Cron使用详解
- ApiPost 真香真强大,是时候丢掉 Postman、Swagger 了
- leetcode 204. Count Primes 计数质数 (Easy)
- golang泛型
猜你喜欢
随机推荐
How H5 realizes evoking APP
[PSQL] window function, GROUPING operator
MySQL 8.0.29 设置和修改默认密码
Navicat报错:1045 -拒绝访问用户[email protected](使用passwordYES)
navicat无法连接mysql超详细处理方法
【语义分割】FCN
golang泛型
golang环境详细安装、配置
pg数据库报错问题,有懂的吗
Matlab论文插图绘制模板第41期—气泡图(bubblechart)
MySQL 8.0.29 decompressed version installation tutorial (valid for personal testing)
LeetCode刷题系列 -- 10. 正则表达式匹配
H5接入支付流程-微信支付&支付宝支付
LeetCode brush topic series - 787 K station transfer within the cheapest flight
认识消防报警联网中CAN光纤转换器的光纤接口和配套光纤线缆
MySQL夺命10问,你能坚持到第几问?
MySQL 8.0.28 version installation and configuration method graphic tutorial
navicat新建数据库
Android studio connects to MySQL and completes simple login and registration functions
选择黑盒测试用例设计方法的综合策略方案总结









