黑马程序员技术交流社区
标题:
<石家庄校区>
[打印本页]
作者:
邓小邓
时间:
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