黑马程序员技术交流社区
标题:
spring mvc重点知识
[打印本页]
作者:
一支穿云箭
时间:
2019-6-13 14:00
标题:
spring mvc重点知识
spring mvc重点知识
spring与web集成
导入坐标(spring-web.jar)
配置监听器
配置全局参数:applicationContext.xml
springmvc的执行流程
springmvc配置步骤:
导入坐标
在web.xml中配置DispathcerServlet
编写Contoller
使用@RequestMapping配置访问路径
编写视图
在spring-mvc.xml中配置视图解析器,扫描contoller
完成测试
springmvc请求和响应:
响应:
页面跳转(默认)
直接返回字符串
返回ModelAndView
回写数据
@ResponseBody
直接返回字符串
返回集合和对象
让spring‘mvc帮我们转换为json字符串
<annotatation-dirver/>
请求:
key=value格式(默认)
基本类型
pojo类型
数组类型
集合:表单提交集合
json格式
@RequestBody
pojo类型{"username":zzz,age:12}
集合类型
文件格式
客户端三要素
type=file
post方式
enctype="multipart/form-data"
服务器端步骤:
导入坐标
配置文件上传解析器
在方法中用MultiPartFile接收
springmvc拦截器
作用
拦截目标方法
主要用于权限验证
配置步骤
编写一个类实现HandlerIntercepter接口
preHandle():在目标方法执行前
postHandle():在返回视图对象之前
afterCompletion():视图对象返回后
在spring-mvc.xml中配置拦截器
测试
springmvc异常处理
作用
减少收到try catch
统一的做一些操作:
返回一些错误信息的视图
记录日志
实现方式:
使用simpleExceptionResovler
配置xml
自定义异常处理器
实现HandlerExceptionResovler接口
2 今日目标
2.1 能够理解并运用Mybatis的核心配置文件和映射配置文件
Mybatis概念:
是一种持久层的框架
Mybatis作用:
不需要关系连接创建,销毁等操作,只关注sql本身就可以了
可以将入参和出参自动封装到具体的java对象中(很强)
解耦:将sql语句从java代码中解放,用xml配置文件完成sql编写,可读性良好
核心配置文件标签:
environments defalut="" :数据源环境设置
environment
TransactionManager :JDBC
dataSource:POOLED 使用的mybatis内置的数据源
properties:引入properties配置文件
resource
typeAliases:设置别名
mapper:加载映射文件
resource:相对路径
url:绝对路径
class:设置映射类(注解开发Mybatis才使用)
package:扫包
2.2 能够理解Mybatis的相关API
加载核心配置文件:Resources
使用SqlSessionFactoryBuilder创建SqlSessionFactory
使用SqlSessionFactory创建SqlSession
openSession() 默认不提交事务
openSession(boolean autoCommit)
SqlSession执行相关sql操作
selectList("命名空间.id",参数对象)
selectOne("命名空间.id",参数对象)
update("命名空间.id",参数对象)
insert("命名空间.id",参数对象)
delete("命名空间.id",参数对象)
commit()
rollback()
2.3能够完成Mybatis的快速入门Demo
步骤:
导入坐标(mybatis,mysql,junit)
创建表,实体对象
创建映射xml配置文件
namespace:mapper文件的名字
配置sql语句
配置核心文件:sqlMapConfig.xml
配置数据源
加载映射文件,mapper
完成测试:
加载sqlMapConfig.xml
创建SqlSessionFactory
创建SqlSession
执行相关sql操作
增删改查操作
插入操作:
<insert>
参数类型:paramterType="全限类名"
占位符:#{参数对象的属性}
获取插入后的数据的主键:
keyProperty="id" useGeneratedKeys="true"
3 上午总结
Mybatis
概念:mybatis是一种持久层的框架
作用:
自关心sql本身的编写,不考虑数据源等的创建
解耦:把sql语句从java代码中解放,放在xml配置文件中,提高一个阅读性和便于修改
能够将入参和出参封装成java对象。
入门demo步骤:
导入坐标(mybatis,mysql,junit)
创建表和实体
编写映射文件userMapper.xml
namesapce:命令空间
id="findAll"
select,insert,update,delete
parameterType="全类名"
ResultType="全类名"
{属性名}
keyProperty="id"
useGeneratedKeys =true
编写核心配置文件:sqlMapConfig.xml
数据源
加载mapper文件
编写测试类:
加载核心配置文件
获取SqlSessionFactory
获取SqlSession
执行操作:
selectList("命名空间.id")
更新操作需要提交事务
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2