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”

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

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    nodejs/REPL环境命令行操作命令
    C++ Primer第五版学习笔记七 类简介(编译用到C++11特性,编译命令需要加-std=c++11参数,break结束while)
    C++ Primer第五版学习笔记六 控制流之if语句
    C++ Primer第五版学习笔记五 控制流之读取数量不定的输入数据
    C++ Primer第五版学习笔记四 控制流之while,for语句
    C++ Primer第五版学习笔记三 C++中的注释
    C++ Primer第五版学习笔记二 初识输入输出
    C++ Primer第五版学习笔记一 一个简单的C++程序
    QT学习笔记二 窗口和子部件
    QT学习笔记一 初识QT Creator 新建一个Dialog窗口
  • 原文地址:https://www.cnblogs.com/skycodefamily/p/5348162.html
Copyright © 2011-2022 走看看