A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 一支穿云箭 初级黑马   /  2019-6-13 14:00  /  772 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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")
        • 更新操作需要提交事务






0 个回复

您需要登录后才可以回帖 登录 | 加入黑马