黑马程序员技术交流社区

标题: <石家庄校区> [打印本页]

作者: 邓小邓    时间: 2019-7-25 15:22
标题: <石家庄校区>
通用mapper
        通用 Mapper 是一个可以实现任意 MyBatis 通用方法的框架,项目提供了常规的增删改查操作以及Example相关的单表操作。
        1、mapper.xml文件里有大量的sql,当数据库表字段变动,配置文件就要修改
        2、需要自己实现sql分页,select * from table where . . . limit 1,3
        自己手写分页,除了传参page、pageSize,还需要返回条目总数count。
        3、数据库可移植性差:如果项目更换数据库,比如oracle-->mysql,mapper.xml中的sql要重新写,因为Oracle的PLSQL 和mysql 支持的        函数是不同的。
        4、生成的代码量过大。
        5、批量操作,批量插入,批量更新,需要自写。

编写功能实现步骤:

        1. 根据接口数据的规范来确定是否要创建实体类
                如果数据模型(实体类)如果存在,不做操作
                如不存在,要创建
                        在 qingcheng_pojo项目中创建
                                如果跟表有关系 com.qingcheng.pojo
                                如果跟表没有关系 com.qingcheng.entity

        2. 在 qingcheng_interface中创建接口或接口下的方法(要给方法加 java doc)

        3. 在qingcheng_service_* 下去实现service接口的实现或方法实现

        4. 在qingcheng_web_manager 下编写服务接口地址(Spring MVC 创建访问接口地址--SpringMVC 在方法上创建的路径)

                路径 以 *.do结尾
                Get----做查询操作
                Post---做新增
                Put---做修改操作
                Delete---做删除
项目运行的注意事项:
        1. 要想工程以web方式进行运行,必须要保持工程的类型为 war
        2. 工程的端口号
                service的端口号为:90xx
                web的端口号为:91xx

        3.tomcat -maven 插件的问题
                3.6 +
                对于maven的低版本,我们必须要制定 tomcat -maven 插件
                <version>2.2</version>
通用Mapper提供了动态查询
        selectByExample(Example)

        1.1 Example ---条件查询对象
                作用:封装查询条件--- sql语句的where 后面的语句

        1.2 在Example中有个对象 Criteria -- 拼接查询条件Sql语句对象
                前提:将 Example 对象创建出来 --指定内容为 类的字节码对象

                构建:Example.createCriteria()


        1.3 使用Criteria对象构建SQL语句
                sql:select xxx  from tablename where columName =/like/ in/ between  xxx

对项目的异常做同一处理

        1. 向上抛异常
                DAO  --> Service  --- > Controller

                Controller ---> 使用是Spring MVC
                        ExceptionHandler--异常处理器
                        需要继承Spring MVC 3.x以前版本的异常处理器的接口或抽象类

                        Spring MVC 对异常的处理提供了更加简便的方式 :注解方式
                                @ControllerAdvice   + @ExceptionHandler

        2. 异常处理类创建的细节

                1. 在qingcheng_common_web中的com.qingcheng.controller下创建
                2. Spring的组件扫描是使用 Dubbo 标签来进行扫描并放入Spring Bean容器中


                3. 异常处理要建在扫描包的基础包中

                4. 异常处理类中,@ExceptionHandler(xxx)中会获得异常的类型以及子类异常的处理

                        *在异常处理类中,处理异常会先找精确匹配的异常,如果没有会找父类异常






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2