> ## J2EE 项目系列(二)--博客管理系统(Maven+SpringMVC+Hibernate 以及附加分页和一对多查询功能)
今天要更的是 Maven+SpringMVC+Hibernate 的项目并附带分页功能以及一对多查询功能。
#### 文章结构:
1.项目介绍(功能业务逻辑,运用的知识,项目数据库等);
2.项目架构介绍以及部分关键逻辑代码说明(分页以及一对多查询功能的实现(通过 PagingAndSortingRepository 实现))。
3.源码分享。
### 一、项目介绍(功能业务逻辑,运用的知识,项目数据库等)
#### (1)功能介绍:
1.添加管理账号,包括账号、密码,你的名字(新旧名字)。还有一系列的增删改查。
2.添加博客文章,文章的日期、内容、标题、id。还有一系列的增删改查。
3.实现外键级联属性
4.实现分页查询统计
5.实现一对多查询
6.部分前端代码,基于 bootstrap 的样式和 js.min
#### (2)运用的知识:
使用 Intellij 进行开发的,Spring,hibernate,MySQL,maven
1.基本数据库知识 MySQL
2.SpringMVC+hibernate
3.(重点)框架的 MVC 设计模式的应用
4.(重点)分页查询
5.(重点)一对多查询
6.部分前端代码,基于 bootstrap 的样式和 js.min 以及一些 jstl
7.JpaRepository 的使用
#### (3)项目构建:使用 Maven 快速构建项目
给出 maven 代码并讲解
```xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.fuzhu</groupId>
<artifactId>springmvcdemo</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>springmvcdemo Maven Webapp</name>
<url>http://maven.apache.org</url>
<!--springcore的。虽然我们只写了一个依赖,但是它导入了两个jar包,也就是说,导入某个jar包时,与它密切相关的jar包也会同时被导入进来。-->
<properties>
<spring.version>4.2.6.RELEASE</spring.version>
<hibernate.version>5.1.0.Final</hibernate.version>
</properties>
<dependencies>
<!--servlet的-->
<dependency>
<groupId>org.jboss.spec.javax.servlet</groupId>
<artifactId>jboss-servlet-api_3.1_spec</artifactId>
<version>1.0.0.Final</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>tjws</artifactId>
<version>3.0.10.Final</version>
<scope>test</scope>
</dependency>
<!--junit单元测试-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!--SpringMVC-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<!--spring基本包-->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
<version>1.10.1.RELEASE</version>
</dependency>
<!--hibernate基本包-->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>${hibernate.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-c3p0</artifactId>
<version>${hibernate.version}</version>
</dependency>
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.0.8</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>RELEASE</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.6</version>
</dependency>
</dependencies>
<build>
<finalName>springmvcdemo</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
```
#### (4)项目分包:MVC 架构。对比我的上一篇项目,使用框架的优势就完美体现出来了。极度精简的代码,项目代码设计。
![](https://www.writebug.com/myres/static/uploads/2021/12/6/e2531e9037073e412f010ede6b1b4133.writebug)
#### (5)数据库:
```sql
//user表
CREATE TABLE user(
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
nickname VARCHAR(45) NOT NULL,
password VARCHAR(45) NOT NULL,
first_name VARCHAR(45),
last_name VARCHAR(45)
);
//blog表
CREATE TABLE blog(
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(100),
content VARCHAR(100),
user_id INT(11) UNSIGNED,
pub_date DATE
);
大家需要使用工具去添加外键,我就这样偷懒了。哈哈
添加外键 user_id--id
测试数据:
INSERT INTO `t2`.`blog` (`title`, `content`, `user_id`, `pub_date`) VALUES ('发发发方法付', '发发发方法付付付', '1', '2016-12-29');
INSERT INTO `t2`.`user` (`nickname`, `password`, `first_name`, `last_name`) VALUES ('fuzhu', '75111', 'fuzh', 'fuzhu');
```
#### (6)项目功能截图:
#### 下面是用户表的增删改查
![](https://www.writebug.com/myres/static/uploads/2021/12/6/7abc5b19ef4fcc66d00f53b0c4e3db75.writebug)
#### 下面是实现一对多的查询
![](https://www.writebug.com/myres/static/uploads/2021/12/6/d4eb96f538ea5de8c5fed04011b36be2.writebug)
#### 下面是博客文章的总表,并实现分页查询
![](https://www.writebug.com/myres/static/uploads/2021/12/6/896ad081b560fcc8fb7bd9c2b3231c6b.writebug)
### 二、项目架构介绍以及部分关键逻辑代码说明
基本的 MVC 架构了,model-view-controller
大家学习持久层开发的时候可以使用 JpaRepository。本博客也是使用这个。这个是详细文档 Spring Data[https://link.csdn.net/?target=https%3A%2F%2Fdocs.spring.io%2Fspring-data%2Fjpa%2Fdocs%2Fcurrent%2Freference%2Fhtml%2F](https://link.csdn.net/?target=https%3A%2F%2Fdocs.spring.io%2Fspring-data%2Fjpa%2Fdocs%2Fcurrent%2Freference%2Fhtml%2F)
此分层的结构:(注意篇)项目一些坑以及配置过程(1)user 业务逻辑的的接口;(2)blog 业务的逻辑接口;(3)分页功能的接口;(4)细讲分页功能(含 JpaRepository 使用);(5)细讲一对多查
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
功能介绍:1.添加管理账号,包括账号、密码,你的名字(新旧名字)。还有一系列的增删改查。 2.添加博客文章,文章的日期、内容、标题、id。还有一系列的增删改查。 3.实现外键级联属性 4.实现分页查询统计 5.实现一对多查询 6.部分前端代码,基于 bootstrap 的样式和 js.min
资源推荐
资源详情
资源评论
收起资源包目录
基于J2EE+MySQL实现的博客管理系统【100012956】 (164个子文件)
BlogController.class 5KB
BlogController.class 5KB
UsersController.class 5KB
UsersController.class 5KB
UserEntity.class 3KB
UserEntity.class 3KB
BlogEntity.class 3KB
BlogEntity.class 3KB
BlogRepository.class 1KB
BlogRepository.class 1KB
UserRepository.class 1KB
UserRepository.class 1KB
BlogPageDao.class 431B
BlogPageDao.class 431B
SpringMVC.iml 7KB
hibernate-core-5.1.0.Final.jar 5.42MB
byte-buddy-1.5.12.jar 2.58MB
lombok-1.16.6.jar 1.31MB
spring-context-4.2.6.RELEASE.jar 1.05MB
spring-core-4.2.6.RELEASE.jar 1.05MB
spring-webmvc-4.2.6.RELEASE.jar 857KB
spring-web-4.2.6.RELEASE.jar 749KB
javassist-3.20.0-GA.jar 733KB
spring-beans-4.2.6.RELEASE.jar 714KB
spring-data-commons-1.12.1.RELEASE.jar 670KB
mchange-commons-java-0.2.11.jar 592KB
hibernate-entitymanager-5.1.0.Final.jar 567KB
mysql-connector-java-5.0.8.jar 528KB
mockito-core-2.5.0.jar 515KB
c3p0-0.9.5.2.jar 486KB
log4j-1.2.17.jar 478KB
spring-orm-4.2.5.RELEASE.jar 456KB
antlr-2.7.7.jar 435KB
spring-jdbc-4.2.5.RELEASE.jar 414KB
jstl-1.2.jar 405KB
spring-aop-4.2.5.RELEASE.jar 361KB
dom4j-1.6.1.jar 307KB
spring-data-jpa-1.10.1.RELEASE.jar 266KB
spring-tx-4.2.5.RELEASE.jar 259KB
spring-expression-4.2.6.RELEASE.jar 257KB
junit-4.11.jar 239KB
jboss-servlet-api_3.1_spec-1.0.0.Final.jar 186KB
jandex-2.0.0.Final.jar 183KB
aspectjrt-1.8.9.jar 115KB
hibernate-jpa-2.1-api-1.0.0.Final.jar 111KB
xml-apis-1.0.b2.jar 107KB
hibernate-commons-annotations-5.0.1.Final.jar 74KB
jboss-logging-3.3.0.Final.jar 65KB
classmate-1.3.0.jar 63KB
commons-logging-1.2.jar 60KB
objenesis-2.4.jar 50KB
hamcrest-core-1.3.jar 44KB
slf4j-api-1.7.19.jar 40KB
byte-buddy-agent-1.5.12.jar 31KB
junixsocket-native-common-2.0.4.jar 27KB
junixsocket-common-2.0.4.jar 18KB
native-lib-loader-2.0.2.jar 17KB
jcl-over-slf4j-1.7.19.jar 16KB
geronimo-jta_1.1_spec-1.1.1.jar 16KB
hibernate-c3p0-5.1.0.Final.jar 11KB
aopalliance-1.0.jar 4KB
UsersController.java 5KB
BlogController.java 5KB
UserEntity.java 3KB
BlogEntity.java 2KB
BlogRepository.java 1KB
UserRepository.java 1KB
BlogPageDao.java 430B
testPage.jsp 4KB
testPage.jsp 4KB
updateBlog.jsp 4KB
updateBlog.jsp 4KB
blogs.jsp 3KB
blogs.jsp 3KB
users.jsp 3KB
users.jsp 3KB
addBlog.jsp 3KB
addBlog.jsp 3KB
updateUser.jsp 3KB
updateUser.jsp 3KB
blogDetail.jsp 2KB
blogDetail.jsp 2KB
addUser.jsp 2KB
addUser.jsp 2KB
userDetail.jsp 2KB
userDetail.jsp 2KB
index.jsp 1KB
index.jsp 1KB
LICENSE 1KB
README.md 23KB
READMEbefore.md 2KB
MANIFEST.MF 84B
数据库.txt 609B
workspace.xml 86KB
uiDesigner.xml 9KB
SpringMVC_war_exploded.xml 5KB
mvc-dispatcher-servlet.xml 5KB
mvc-dispatcher-servlet.xml 5KB
pom.xml 4KB
0f1407f8-fdda-4d44-9580-feddd704fa58.xml 3KB
共 164 条
- 1
- 2
资源评论
神仙别闹
- 粉丝: 2667
- 资源: 7640
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功