zoukankan      html  css  js  c++  java
  • Mybatis第一天

    Mybatis Day01

    一、 Mybatis介绍:

    Mybatis属于一款优秀的数据持久层框架

    回顾JDBC缺点:

    1. 需要频繁的开关数据库连接
    2. 查询数据的结果集需要人为进行封装
    3. Jdbc没有缓存
    4. Sql语句写在Java文件中

    Mybatis

    1. 内置数据库连接池
    2. 会自动进行结果集的封装
    3. 有缓存
    4. Sql语句写在配置文件中

    导入DTD约束文件:

    1. 复制配置文件中 约束的网址:

     

    1. 添加约束文件

     

    Mybatis入门案例:

    1. 导入jar

     

    1. 添加配置文件2+1log4j的配置文件

     

    修改sqlMapConfigMybatis的核心配置文件)

    里面目前只有两部分信息:1.数据源2.mapper位置

    a.数据源:要保证本地数据库打开包含所连接的数据库

     

    b.mapper:指定mapper配置文件的位置,注意:/进行分割

     

    1. Mapper配置文件:

    包含sql语句 和一个命名空间(表示配置文件的唯一标示)

     

    1. 测试代码:

    步骤:输入流-》会话工厂-》会话对象-》执行sql语句

     

    二、 增删改查练习
    1.查询单个对象

    Mapper配置:

     

    代码:

     

    1. 新增数据

    Mapper配置:

     

    代码:

     

    1. 删除数据

    Mapper配置文件:

     

    代码:

     

    1. 修改操作:

    配置文件

     

    代码:

     

    三、 取值符号

    1.#{变量名称}:会加引号,并且有预编译效果,能用#取值就用#号 实在不行的场景才用${}

    2.${变量名称}:不会加引号直接拼接到sql语句中,当传递过来的变量值为字段名称时或者为sql语句的一部分时(如:升序 降序) 如果使用$取值 需要把值放到Map中配合使用

     

    四、 Mybatis的单值传递和多值传递

    Mybatis中只支持传一个参数的方法 , 传递多个参数的时候可以把参数放到对象中或放到map中,单值传递的时候,取值的地方参数名可以任意

     

    多值传递练习

     

    代码调用:

     

    五、 sql语句的复用

    声明复用的sql

     

    引入复用sql

     

    六、 别名标签

    resultType赋值写错会报以下错误

     

    如果包名+类名比较长的话,出错概率会很大 所以可以使用别名。

    在核心配置文件声明别名:

     

    注意:需要添加 config的约束文件,并且书写时只有写完<type时才会有提示

    如何使用:

     

     

    七、 动态更新

    当进行数据库数据修改的时候,有时只需要修改表中的某几个字段,其它字段保持原有值不变,这时就需要用到动态更新,不然会出现其它值为null的问题

    配置文件:

     

    代码调用:

     

    八、 动态查询

    当查询数据需要多个查询条件,但是不一定每个条件都有值的时候,需要用到动态查询,不然会出现要满足其余条件为null的 判断

    配置文件:

     

    Where可以去掉前面多余的and

    代码:

     

    九、 动态插入

    配置文件:

     

    代码调用:

     

    十、 批量删除

    2种情况

    1. 数组里面装id

     

    代码:

     

    1. List集合里面添加User对象

    配置:

     

    调用代码:

     

  • 相关阅读:
    元素定位方法与等待
    xpath定位的总结
    模拟登录
    shell的数组
    shell的函数
    shell的循环
    shell的流程控制语句case
    shell的while循环
    shell的if条件判断
    shell的for循环
  • 原文地址:https://www.cnblogs.com/dxp5201/p/8921831.html
Copyright © 2011-2022 走看看