zoukankan      html  css  js  c++  java
  • MyBatis的简单介绍和几个基本问题(续)

    第一阶段  MyBatis阶段

    2016年3月9日 星期三

     

    1.我们为什么要学习框架?

    A.为开发效率

    B.熟悉别人规定好的工具,按照他们说的规则做而已

    2.我们要学习哪些框架?

    持久层框架:MyBatis

    什么是持久化?

    狭义:永久性的把数据保存到数据库当中

    广义:针对于数据库的所有操作都称为持久化

            CreateReadUpateDelete

    MyBatis就是针对于数据库的操作的封装--JDBC

    MyBatis和Hibernate的区别?

    半自动化--需要你自己定制SQL语句

    全自动化--你想完成数据的一些操作的话,不需要写SQL语句

    WEB层框架:SpringMVC

    SpringMVC WEB层框架  主要的是替换Servlet

    Struts2 WEB层框架

    SpringMVC和Struts2两个框架

    SpringMVC是针对于方法的操作

    Strutr2是针对于类的操作

    容器框架:Spring

    Spring被称为一站式服务[WEB层 持久化层],IoC和AOP的容器框架

    3.如果学习各种框架的流程?

    A.寻找到你所需要的JAR包

    B.都有一个核心配置文件

    C.去找API文档

    D.做最简单的测试熟悉引用即可

    4.MyBatis回顾

    A.从mybatis-config.xm核心配置文件

    I.加载关于数据库的配置信息,但是我们是通过jdbc.properties的属性文件开始的[如何使用Java来读取properties的文件]

    II.加载映射文件,关于映射文件的命名为 类名Mapper.xml的形式

    注意:因为mybatis-config.xml文件是入口,并且对于你配置的映射文件进行加载,那么如果是映射文件用有错,就会导致整个测试运行出错,如果在控制台上报MyBatisUtils初始化不成功的错误,那么九成以上是映射文件出错

    B.映射文件配置

    I.关于映射文件中的标签说明如下

    <sql> 配置是针对公共的字段

    <insert id="保持唯一,并且对应接口的方法名" parameterType="数据类型【int,string,list,map,对象的全路径,如果是多于一个参数该参数可以不写】"

    resultType="int,string,map,类名的全路径"

    reusltMap="必须对应的是<resutMap>标签中的ID"

    如何配置关于返回主键的ID

    <select >

    <update >

    <delete >

    II.动态SQL语句

    <if test="类中的属性或者map中的key" test="account!=null and account!=''">

    <choose>跟学的JSTL标签中的<c:choose一致

    <where>有三种

    <set>更新两种方式

    <trim>

    myTest(List )

    <foreache> 如果是你的参数只有一个,并且是List或者数组,paramType可以省略,并且collection="list|array",如果也是一个参数,

    myTest(User user)                                                                 hoddyList

    但是是对象或者是Map,那么你的collection="对象中的集合属性名|map的key存的那个集合"

    III.resultMap标签

    只是针对于参数结果集的映射

    多对一的标签<ass property=“类中的属性不是简单的数据类型” javaType="类名的全路径"

    1.select方式 影响效率 column="通过该字段进行查询" 执行 select="namespace+'.'+id的名称"

    2.resultMap的映射

         resultMap的属性=“命名空间+resultMap对应的ID”

        标签之间自己完成对字段的映射

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    在阿里写了8年代码后,我才明白这些道理
    2017双11交易系统TMF2.0技术揭秘,实现全链路管理
    加入新公司快速进入状态的心得
    Kibana+ElasticSearch实现索引数据的几种查询方式
    记一次jenkins发生的无法判断字符串前后空格
    ansible-playbook调试
    记一次ansible-playbook jenkins传空格的标量导致删除了服务的主目录
    rabbitmq集群中队列的完整性
    html5分割上传实现超大文件无插件网页上传思路
    html5分割上传实现超大文件无插件网页上传功能
  • 原文地址:https://www.cnblogs.com/skycodefamily/p/5348162.html
Copyright © 2011-2022 走看看