zoukankan      html  css  js  c++  java
  • Mybatis入门及于hibernate的区别

    pojo:不按mvc分层,只是java bean有一些属性,还有get set方法
    domain:不按mvc分层,只是java bean有一些属性,还有get set方法
    po:用在持久层,还可以再增加或者修改的时候,从页面直接传入action中,它里面的java bean 类名等于表名,
    属性名等于表的字段名,还有对应的get set方法
    vo: view object表现层对象,主要用于在高级查询中从页面接收传过来的各种参数.好处是扩展性强
    bo: 用在servie层,现在企业基本不用.
    这些po,vo, bo,pojo可以用在各种层面吗
    可以,也就是po用在表现层,vo用在持久层不报错,因为都是普通的java bean没有语法错误.
    但是在企业最好不要混着用,因为这些都是设计的原则,混着用比较乱.不利于代码维护.

    自学方法论: 理论 -> 实践 -> 理论 -> 实践 反复迭代三遍

    总结:
    1. mybatis是一个持久层框架, 作用是跟数据库交互完成增删改查
    2.原生Dao实现(需要接口和实现类)
    4.动态代理方式(只需要接口)
    mapper接口代理实现编写规则:
    1) 映射文件中namespace要等于接口的全路径名称
    2) 映射文件中sql语句id要等于接口的方法名称
    3) 映射文件中传入参数类型要等于接口方法的传入参数类型
    4) 映射文件中返回结果集类型要等于接口方法的返回值类型

    5. #{}占位符:占位
    如果传入的是基本类型,那么#{}中的变量名称可以随意写
    如果传入的参数是pojo类型,那么#{}中的变量名称必须是pojo中的属性.属性.属性...

    6. ${}拼接符:字符串原样拼接
    如果传入的是基本类型,那么${}中的变量名必须是value
    如果传入的参数是pojo类型,那么${}中的变量名称必须是pojo中的属性.属性.属性...
    注意:使用拼接符有可能造成sql注入,在页面输入的时候可以加入校验,不可输入sql关键字,不可输入空格
    7. 映射文件:
    1)传入参数类型通过parameterType属性指定
    2)返回结果集类型通过resultType属性指定
    8. hibernate和mybatis区别:
    hibernate:它是一个标准的orm框架,比较重量级,学习成本高.
    优点:高度封装,使用起来不用写sql,开发的时候,会减低开发周期.
    缺点:sql语句无法优化
    应用场景:oa(办公自动化系统), erp(企业的流程系统)等,还有一些政府项目,
    总的来说,在用于量不大,并发量小的时候使用.
    mybatis:它不是一个orm框架, 它是对jdbc的轻量级封装, 学习成本低,比较简单
    有点:学习成本低, sql语句可以优化, 执行效率高,速度快
    缺点:编码量较大,会拖慢开发周期
    应用场景: 互联网项目,比如电商,P2p等
    总的来说是用户量较大,并发高的项目.

  • 相关阅读:
    【python系列】安装完PyCharm创建项目提示No Python interpreter selected
    银联支付测试
    【linux系列】linux防火墙的关闭开启
    【linux系列】vmware12pro安装centos7
    【linux系列】安装虚拟机时候的3中网络模式
    JavaBean与Map<String,Object>相互转换
    【CSS系列】布局篇
    【CSS系列】对表单和数据表格应用样式
    【CSS系列】图像映射
    【Linux系列】find命令使用
  • 原文地址:https://www.cnblogs.com/baibin-520/p/10229070.html
Copyright © 2011-2022 走看看