• Mybatis笔记


    Mybatis概述

    Mybatis专注于SQL语句本身;xml,实体,接口方法;

    Mybatis下载地址:https://github.com/mybatis,也可以用maven;

    Mybatis,原名:iBatis,Mybatis是一个ORM(对象关系映射)框架,是一款基于Java的持久层框架,MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。

    MyBatis可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJOs(简单的Java对象、实体类)映射成数据库中的记录。

    dao -> 持久层(用来数据持久化) -> db

    持久层和dao层融合一起来使用,

    ORM框架解决的是面向对象程序设计语言和关系型数据库不匹配的问题,Mybatis能使操作数据库像使用面向对象语言一样;

    hibernate是纯ORM框架;而Mybatis是半ORM框架,要手写sql的

    Mybatis要做的事:实体类和sql之间建立映射关系

    Mybatis核心配置(见son4模块)

    mybatis开发dao层(见son4模块)

    1.传统开发方式(不常用):mybatis对dao的支持:在daoimpl加成员变量sqlsession工厂

    2.mapper代理开发方式(最常用):mybatis对dao的支持,只需实现接口,并保证和映射文件名字一致,会生成代理实现类,

    使用mapper代理注意:namespace、映射文件insert等的id和接口方法名一致、参数类型=接口方法形参类型、返回值也要一致

    mybatis核心功能(见son4模块)

    mybatis逆向工程(反向代理):运行main->db单表生成Java code,如pojo、mapper接口、映射文件,修改一下,完了再做上述的事

    动态sql;mybatis关联查询和,分页查询设置,延迟加载,重点!!(见son4模块);

    mybatis查询缓存配置,空间换时间:

    一级缓存:第二次查询从缓存里取,对于一次sqlsession会话,还没关时,相同sql语句/结果集,只会命中/查询一次mysql

    二级缓存:是namespace级别的,同一个接口的相同查询,会二级缓存,要适当来用;

    soap,简单对象访问协议,它是webservice的基础,soa(面向服务) 异构系统之间传输data

    解析xml(现在不关键了),dom4j

    思考:如何设计spring IOC框架,必须有一个xml,仿照springbean的xml,2019-08-16-1后10分钟,用dom4j解析xml

    整合SSM(见son3模块,该模块含5层)。struts2+spring+hibernate->Java框架SSM

    相关知识和问题

    1.各种数据的映射类型:https://www.cnblogs.com/zhuangfei/p/9492915.html

    2.逆向工程无效:https://blog.csdn.net/weixin_42215286/article/details/86765076

    3.运行时找不到对应映射xml文件:映射文件namespace为mapper接口,xml文件要放在resources里,SSM整合时sqlSessionFactory bean的属性要说明映射文件的位置

    4.不可以重复执行同一张表的逆向工程,启动SpringBoot项目会报错,xml映射文件内容新增了一遍;

    5.resultMap和resultType区别:二者不能同时写,https://blog.csdn.net/xiao_xiao3601/article/details/92724587

    sql标签字段,不使用resultMap映射结果集时需要起别名来映射结果集;使用resultMap映射结果集并且也用sql标签、sql标签里字段还起别名可能对应不上,这要注意;

    Mybatis mapper接口的方法为多个参数:https://blog.csdn.net/qq_34427163/article/details/92783230

    6.if标签里不能有注释;

  • 相关阅读:
    python打包生成exe文件
    Django建表
    Pycharm 激活码2017最新
    源码包安装Mysql
    Python 的PIL,可以解决ImportError The _imagingft C module is not installed
    远方的塔--Pylons
    Flask 框架入门
    缓动公式
    js源生惯性滚动与回弹(备用)
    javascript实现继承的12种套路
  • 原文地址:https://www.cnblogs.com/yyjh/p/11961683.html
Copyright © 2020-2023  润新知