当前位置:   article > 正文

MyBatis&MySQL_mybatis和mysql

mybatis和mysql

1.MySQL 数据库的 SQL 语句不区分大小写,关键字建议使用大写
2.SQL分类:
    .DDL(Data Definition Language)数据定义语言
        .用来定义数据库对象:数据库、表、列。关键字:create,drop,alter
    .DML(Data Manipulation Language)数据操作语言
        .用来对数据库中表的数据进行增删改。关键字:insert, delete, update
    .DQL(Data Query Language)数据查询语言
        .用来查询数据库中表的记录(数据)。关键字:select, where
    .DCL(Data Control Language)数据控制语言(了解)
3.MyBatis是什么?
    .MyBatis 是一款优秀的持久层框架。
    .支持自定义 SQL、存储过程以及高级映射
    .免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作
    .通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO为数据库中的记录
4.Mybaits 的优缺点
    .优点:
        .消除 JDBC 中的重复代码
        .可以在 XML 或注解中直接编写 SQL 语句,比较灵活,方便对 SQL 的优化与调整
        .SQL 写在 XML 中,与代码解耦,按照对应关系方便管理
        .XML 中提供了动态 SQL 的标签,方便根据条件拼接 SQL
        .与 Spring 集成比较方便
    .缺点:
        .字段较多、关联表多时,编写 SQL 工作量较大
        .SQL 语句依赖了数据库特性,会导致程序的移植性较差,切换数据库困难
5.MyBatis 的适用场景
    .直接编写 SQL,对应多变的需求改动较小
    .对性能的要求很高,做 SQL 的性能优化相对简单、直接
6.MyBatis 与 Hibernate 的区别
    .MyBatis需要程序员自己编写SQL,Hibernate 可以做到无 SQL 对数据库进行操作
    .MyBatis 直接编写原生 SQL,可以严格控制 SQL 执行性能,灵活度高,快速响应需求变化
    .Hibernate 会根据模型配置自动生成和执行 SQL 语句,面对多变的需求,灵活度没那么高
        即可移植性差
7.sql注入:    
    .SQL 注入是在编译的过程中,注入了某些特殊的恶意 SQL 片段,被编译成了恶意的 SQL 执行操作
        例:select * from user_table where usname='"userName+"' and password='"+password+"'
        通过sql注入可为SELECT * FROM user_table WHERE username=''or 1 = 1 -- and password=''
        --为注释,此时这个语句一定会成功
8.MyBatis 中实体类的属性名与表中的字段名不一致怎么处理?
    .修改 SQL,给查询字段重命名,如 将 user_id  重命名为 userId<sql语句有重命名功能>
        select user_id as userId from table
9.MyBatis 有哪些分页的方式?分页插件的原理是什么?
    .在 xml 或者 注解的 SQL 中传递分页参数
    .使用分页插件 Mybatis-PageHelper
    其中分页插件的原理是,使用 MyBatis 提供的插件接口,拦截待执行的 SQL,根据数据库种类
    的配置与分页参数,生成带分页 SQL 语句执行
10.分页插件Mybatis-PageHelper:
    .使用方法:
        PageHelper.startPage(page,pageSize);
     

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号