MyBatis框架 使用 (一)

一、基本概念和使用步骤

1、MyBatis框架是什么?

      是一个数据持久层框架,是对JDBC的操作数据库的封装。

2、设计理念:

     基于原生的SQL进行设计。

3、MyBatis的优缺点以及应用场景?

优点:

和JDBC相比,减少了代码量。

MyBatis是最简单的数据持久化框架,便于学习。

SQL语句写在XML文件里,从程序代码中彻底分离,降低了耦合度。

提供了XML标签,可以动态的编写SQL语句。

提供映射标签,支持对象与数据库的字段进行关系映射。

缺点:

SQL语句编写量大,对开发人员的编写SQL语句功底有要求。

SQL语句依赖于数据库,所以数据库的移植性差。

使用场景:

MyBatis专注于SQL本身,是一个灵活的数据层解决方案。

适用于互联网项目。

4、MyBatis的使用步骤?

1)引入MyBatis的jar包,和对应的数据库jar包,以及SQL文件。

2)编写实体类:要求实体类的属性和数据表字段一一对应。

3)编写操作数据接口:添加基础的数据操作方法。

4)编写实现数据操作的配置文件:要求和对应的接口同名。

5、resultMap的使用?

resultMap是结果集映射标签,可以将查询到的复杂类型的数据映射到一个结果集中。

属性:

id:表示结果集的唯一标识

type:映射结果类型,默认是要配置全类名。

子节点:

id:表示数据表的主键对应的实体类的属性

result:配置其他字段对应的属性。

子节点属性:

property:实体类的属性名。

column:数据库表的字段名。

二、动态SQL

1、什么是动态SQL?

使用MyBatis里面的标签,对传入的参数进行判断,根据结果,对sql语句进行拼接。

2、常用标签

if标签:在标签的test属性中添加判断条件。动态sql的核心标签

where标签:用于替代sql语句中的where命令。

set标签:替代sql语句中的set更新命令。

forEach标签:遍历集合用的。

choose标签:相当于java中的switch结构,用于选择。

when标签:

otherwise标签:

3、#{}和${}的区别?

#{} ${}
#将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号 $将传入的数据直接显示生成在sql中
可以防止SQL注入 不能防止SQL注入
预编译sql语句使用?占位符代替 使用字符串替换
一般优先使用#{} 一般用于传入数据库对象,如表名,字段名.

你可能感兴趣的:(MyBatis框架)