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

Sssm整合Mybatis层

环境:idea mysql5 maven

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

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

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

数据库表:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 先去在maven里加载lombok:

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

 

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

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

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

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

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

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

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

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

业务层接口:

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

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

ssm整合Spring层

我们先写个spring配置文件:

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

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

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

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

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

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

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

ssm整合SpringMVC层 

1.在idea中添加web支持

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

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

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

 现在我们就把ssm三个框架的核心配置文件放到一个文件里了,达到整合到一起的目的。

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

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

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

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

ssm整合 书籍查询

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

首页面:

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

 

运行:

点击超链:

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

我们的排错思路为:

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

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

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

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

改动下再运行:

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

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

1.applicationContext.xml没有注入bean

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

 我们再运行一下:

 

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

先美化index页面:

 

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

 

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

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

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

        

 

页面效果:

 

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

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

 

 

运行:

 

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值