(狂神)SpringMVC笔记----------05

Sssm整合Mybatis层

环境:idea mysql5 maven

项目的流程一般是一下几步:

(狂神)SpringMVC笔记----------05_第1张图片

 我们现在就是简单的利用ssm做一个图书的增删改查。

第一步我们先创建一个数据库表:

(狂神)SpringMVC笔记----------05_第2张图片

数据库表:

(狂神)SpringMVC笔记----------05_第3张图片

 有一种说法是程序员百分之90的操作都是CURD。

第二步就是我们要搭建一个基本的环境:

我们首先创建一个maven项目肯定要先去导入maven依赖:

(狂神)SpringMVC笔记----------05_第4张图片

(狂神)SpringMVC笔记----------05_第5张图片

(狂神)SpringMVC笔记----------05_第6张图片

接下来我们要在maven中配置静态导出问题:

 不然我们可能会发现我们maven的依赖都已经全部导入了,但是项目可能运行起来还会出问题。

(狂神)SpringMVC笔记----------05_第7张图片

这样我们的maven配置基本就结束了。

 第三步在idea中连接数据库。

(狂神)SpringMVC笔记----------05_第8张图片

 然后我们把包结构建立出来:

(狂神)SpringMVC笔记----------05_第9张图片

在resources中,我们一个是要创建spring核心配置文件,一个是要配置mybatis核心配置文件。

(狂神)SpringMVC笔记----------05_第10张图片

(狂神)SpringMVC笔记----------05_第11张图片

 现在一个项目基本的架构就有了,只是什么都没有去写。

接下来我们整合Mybatis层首先就是要先导入数据库:

(狂神)SpringMVC笔记----------05_第12张图片

接下来就是开始写mybatis的核心文件了:

(狂神)SpringMVC笔记----------05_第13张图片

可能我们还需要加入一些mapper的映射配置,但是我们现在还没有Mapper,我们就先写到这里吧。

接下来我们去把实体类完成:

(狂神)SpringMVC笔记----------05_第14张图片

我们为了偷懒,在这里我们去使用lombok插件。

 先去在maven里加载lombok:

(狂神)SpringMVC笔记----------05_第15张图片

然后我们在实体类中去使用一下lombok

 (狂神)SpringMVC笔记----------05_第16张图片

我们实体类写好了,现在应该是真正到我们去写一些实际操作的接口:

(狂神)SpringMVC笔记----------05_第17张图片

在接口中有些方法的参数和类对象的属性名不相同我们加上@Param注解:

(狂神)SpringMVC笔记----------05_第18张图片

 我们要怎么去实现这三个接口,学完Mybatis我们知道,我们只需要写mapper.xml即可了:

我们在xml中去编写每个接口的sql语句,一个接口一个mapper:

(狂神)SpringMVC笔记----------05_第19张图片

(狂神)SpringMVC笔记----------05_第20张图片

 接下来我们要把这个mapper.xml文件绑定到我们的mybatis配置文件中:

(狂神)SpringMVC笔记----------05_第21张图片

我们的接口名和我们的xml名称一致,所以我们直接用class方式就可以了,如果名称不一样,我们用resource的方式定位到mapper.xml文件也可以。

接下来就是我们的业务层了:

我们知道业务层就是写业务功能的接口和实现功能接口的实现类,业务层的接口也是利用dao层的接口,只是在功能上有细微的差别,可能会增加一些业务逻辑。

业务层接口:

(狂神)SpringMVC笔记----------05_第22张图片

最后我们来写业务层接口的实现类:

(狂神)SpringMVC笔记----------05_第23张图片

(狂神)SpringMVC笔记----------05_第24张图片

 service层就是mvc中的model层,存储数据和业务。我们的mybatis专心做底层,这一层就算写完了。到这里我们就把mybatis整合成功了。

ssm整合Spring层

我们先写个spring配置文件:

(狂神)SpringMVC笔记----------05_第25张图片

(狂神)SpringMVC笔记----------05_第26张图片

到这步我们spring整合dao层就已经结束了。总结一下整合dao层的步骤:

1.关联数据库配置文件 2.连接池配置 3.创建sqlSessionFactory 4.dao接口扫描包动态实现dao接口的注入(也可以手动创建实现类来注入)  

我们整合完dao层之后,接下来我们要去注入我们的service业务层:

(狂神)SpringMVC笔记----------05_第27张图片

(狂神)SpringMVC笔记----------05_第28张图片

到这一步我们spring整合service层也就结束了。总结一下包含这几个操作:

1.扫描service下的包 2.把业务层的所有业务类注入到spring中 3.声明式事务配置 4.aop事务支持(目前只写CURD的话这一步还用不上)

最后我们再把spring 整合dao和service层的这两个文件放到applicationContext.xml中去:

(狂神)SpringMVC笔记----------05_第29张图片

现在mybatis和spring框架都整合完了,但是现在差一个最核心的框架springmvc没有整合到一起,接下来我们就去整合springmvc。

ssm整合SpringMVC层 

1.在idea中添加web支持

2.在web.xml中添加servlet和乱码解决,Session的配置:

(狂神)SpringMVC笔记----------05_第30张图片

(狂神)SpringMVC笔记----------05_第31张图片

我们现在还没有配置springmvc核心配置文件,所以web.xml爆红,我们先把这个文件创建出来。

然后我们就把这个文件引入到applicationContext.xml中:

(狂神)SpringMVC笔记----------05_第32张图片 现在我们就把ssm三个框架的核心配置文件放到一个文件里了,达到整合到一起的目的。

然后我们把sping-mvc.xml文件配置完:

我们在mvc核心配置文件中主要完成以下几个步骤:

1.注解驱动2.静态资源过滤3.扫描包:controller4.视图解析器

(狂神)SpringMVC笔记----------05_第33张图片

 到这里我们的ssm整合就全部结束了。有的网上是把所有配置文件写到了一起,我们是根据功能不同写了6个配置文件。其实分开来看的话,除了整合Spring是挺麻烦的,整合mybatis和整合mvc还是比较容易的。

ssm整合 书籍查询

之前的项目已经把环境和项目结构搭建起来了,接下来我们先去写controller层用于调用service层:

(狂神)SpringMVC笔记----------05_第34张图片

首页面:

(狂神)SpringMVC笔记----------05_第35张图片

然后我们去写我们的前端页面allBook:

 (狂神)SpringMVC笔记----------05_第36张图片

运行:

(狂神)SpringMVC笔记----------05_第37张图片

点击超链:

(狂神)SpringMVC笔记----------05_第38张图片

500了说明我们的项目是有问题的:

我们的排错思路为:

1. 查看我们的bean是否注入成功

显然我们是手动创建的serviceimp的Bean  bean是肯定存在的

2.Junit单元测试,看看我们的代码是否能查出结果:

(狂神)SpringMVC笔记----------05_第39张图片

 我们发现可以测试出来,所以我们的底层是没有错误的。一定是spring出了问题。

(狂神)SpringMVC笔记----------05_第40张图片

改动下再运行:

(狂神)SpringMVC笔记----------05_第41张图片

报空指针,说明我们的service层没有注入成功。 

SpringMVC,整合的时候没调用到我们的service层的bean:

1.applicationContext.xml没有注入bean

2.web.xml中,我们也绑定过配置文件!发现问题,我们配置的是spring-mvc.xml,这里面确实没用service层的bean所以报空指针。

(狂神)SpringMVC笔记----------05_第42张图片

 我们再运行一下:

(狂神)SpringMVC笔记----------05_第43张图片

 (狂神)SpringMVC笔记----------05_第44张图片

现在我们跳转页面的功能已经成功了,接下来我们就要把前端页面美化一下,把代码优化一下:

先美化index页面:

(狂神)SpringMVC笔记----------05_第45张图片

(狂神)SpringMVC笔记----------05_第46张图片 

我们给h3标签和超链接标签加上样式后:

(狂神)SpringMVC笔记----------05_第47张图片 

接下来我们去美化跳转后显示结果的allBook页面:

 这里是用bootstrap去美化页面,虽然我还没有学过,但是可以先感受一下美化的效果:

(狂神)SpringMVC笔记----------05_第48张图片

 接下来就是把查询的到列表信息在页面中体现出来:

        (狂神)SpringMVC笔记----------05_第49张图片

(狂神)SpringMVC笔记----------05_第50张图片 

页面效果:

(狂神)SpringMVC笔记----------05_第51张图片 

现在为止都是做纯前端的设计,还没有把数据库中查询到的列表信息显示到页面上:

写完功能后的完整前端页面:

(狂神)SpringMVC笔记----------05_第52张图片 

(狂神)SpringMVC笔记----------05_第53张图片 

运行:

(狂神)SpringMVC笔记----------05_第54张图片 

(狂神)SpringMVC笔记----------05_第55张图片 

这样我们查询全部书籍的方法就写完了,查询只用了一个方法就搞定了。 

你可能感兴趣的:(intellij-idea,maven,java)