赞
踩
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);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。