SpringMVC&Mybatis

"本文详细介绍了SpringMVC的工作流程,从DispatcherServlet接收请求到视图解析器返回浏览器,包括控制器开发和常用注解的使用。同时,探讨了Mybatis作为ORM框架的角色,配置关联关系以及Mapper.xml中的常见标签。特别指出,使用${...}
摘要由CSDN通过智能技术生成

目录

一、SpringMVC

1.工作流程:

2.开发流程:

 添加静态文件映射: 

④controller层,正常开发即可

 3.常用的注解:

4.springmvc怎么返回数据 

二、Mybatis 是什么?

1.ORM 数据库层面的框架

O:Object

R:reference

M:Mapping

2.关联关系的配置

3.mapper.xml配置的常用标签有哪些? 

重点: 

4.上述的不同,也就决定了$存在SQL注入的风险 


一、SpringMVC

1.工作流程:

①DispatcherServlet:接受到浏览器端发送的所有请求
②HandlerMapper处理器映射器:找到@requestMapping对应值
③HandlerAdapter处理器适配器:适配对应的方法调用执行
④modelAndView模型视图对象:方法的返回值
⑤viewResolver解析模型视图对象,得到view,返回给浏览器用户展示;
 

2.开发流程:

①导入pom依赖
②web.xml中添加核心类配置,DispatcherServlet,指向框架Springmvc.xml的配置文件
③配置Springmvc.xm

配置驱动包扫描<context:component-scan base-package="com.javaxl.ssm"/>
        重点:配置本地资源视图解析器
        <!--3) ViewResolver -->
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <!-- viewClass需要在pom中引入两个包:standard.jar and jstl.jar -->
            <property name="viewClass"
                      value="org.springframework.web.servlet.view.JstlView"></property>
            <property name="prefix" value="/"/>
            <property name="suffix" value=".jsp"/>
        </bean>

 添加静态文件映射: 

<mvc:resources location="/images/" mapping="/images/**"/>

④controller层,正常开发即可

要通过@controller标记当前类被spring所管理
写方法:@requestMapping
方法会有返回值:“bookList” --> /bookList.jsp

 3.常用的注解:

@controller                                  @postMapping 若依

@requestMapping                       @responseBody-返回json数据 

@getMapping                              @requestBody-接受json数据  

@putMapping                              @pathvariable  

@deleteMapping                         @requestParam

4.springmvc怎么返回数据 

 转发:"forword:/list"
 重定向:"redirect:/list"

二、Mybatis 是什么?

1.ORM 数据库层面的框架

O:Object

R:reference

M:Mapping

2.关联关系的配置

一对一:association javatype
一对多:Collection    oftype    

3.mapper.xml配置的常用标签有哪些? 

if/for

  <![CDATA[ ... ]]>    用于解决特殊字符转义的,没有CDATA的话,> < & 等会被当成HTML标签,而不是sql语句的组成部分;
   Mybatis中的二级缓存默认关闭的
   二级缓存:Mapper级别的缓存,默认关闭
   一级缓存:session级别的缓存,默认就是开启的;

重点: 

#{...}与${...}传参的区别
#传递参数会自带引号
S不带引号:存在SQL注入的问题,但是也有优点,可以用来做动态列/动态SQL

4.上述的不同,也就决定了$存在SQL注入的风险 

UserMapper.xml	前提uid是varchar
		select * from user where uid = #{uid} uid='abc' or uid is not null
		select * from user where uid = ''abc' or uid is not null'
		select * from user where uid = ${uid}	uid='abc' or uid is not null
		select * from user where uid = 'abc' or uid is not null
		
		<select>
		select * from user where uid = #{uid}
		</select>
		
		<select id="execute">
			${executeSQL}
		</select>
		
		<select id="execute">
			select ${fieldName} form ${tableName}
		</select>
	
	UserMapper.execute("select * from book")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本项目是用的spring springMVC myBatis框架,前段没用框架,只写了简单的页面效果,做增删查改 这是我系统学习所得,希望能对你有所帮助 项目部署: 1;导包,就是web-inf下lib,让后把这些选中,单击右键build path -->add library 2;web.xml配置文件,这里几乎不需要改,以后要用只需要复制就行 3;具体框架配置文件,都集中在了sourceConfig文件夹下,这个自己琢磨,以后再用这个框架也是几乎不需要改的,之所以说几乎,是因为只需要改包名就可以了 4;写bean,写dao,写service,写controller,这是重点 5;bean下写要操作的数据表,记住这个类药与数据库中的表一致,最好一模一样,避免麻烦 6;dao下写数据库操作内容,那下面有两个文件名一样的,一个是java文件,一个是xml文件,java文件是定义方法名,xml文件是让你写具体的数据操作方法的,格式就是这样,你看看就能懂,你只需要这样写,这个框架就可以识别,吧你在xml中写的数据库操作方法匹配到java文件中的方法,这是mybatis做的事 7;service包中放你的业务逻辑层,具体来说就是,dao中只放数据操作,service引用数据操作,还可以有其他操作 8;controller类的格式你要用心点了,这个是控制器,控制请求的跳转,他和servlet的功能类似, 功能引导: 为了让你更方便了解这个项目,说一下流程 1.把项目部署到tomcat,启动服务, 2.在浏览器中输入http://localhost:8080/AscentSys/user/in.do 3.这个命令的意思是,访问这个项目地址user/in.do,然后这个请求就会发送到controller中,在controller中首先匹配到user,在匹配到in.do就调到具体的方法中去处理这个情求了,这里会跳转到users文件夹下的login.jsp页面中,解释一下,在spring-servlet.xml配置文件中有一句路径解析的,“前缀后缀”那个bean,意思是在返回的东西加前缀后缀,这里写的是啥你琢磨琢磨可以明白的 4.在login.jsp页面中,有个提交地址,是login.do,按上面说的,在controller中首先匹配到user,在匹配到login.do就调到具体的方法中去处理这个情求了,后面的流程我就不说了,自己看 5。再说一点,return的好多字符串,有的是redirect:/user/userlist.do这样的格式,意思是转发,就是转到另一个请求中去,同理,具体意思是,在controller中首先匹配到user,在匹配到userlist.do就调到下面的方法中去处理这个情求了, 6,关于传参数的问题,在表单中写的属性,在controller自动接收,也可以接受user对象,如果是对象,那个表单的格式你要看仔细了和一般表单的不同之处。琢磨琢磨你会明白的, 希望能对你有所帮助
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值