教育行业A股IPO第一股(股票代码 003032)

全国咨询/投诉热线:400-618-4000

天富娱乐注册官网平台 MyBatis的基本使用

更新时间:2018年12月13日14时49分 来源:传智播客 浏览次数:

一:MyBatis整体架构

二:配置文件详解

1.配置文件

全局配置文件:mybatis-config.xml作用:配置数据源,引入映射文件

映射文件:XxMapper.xml 作用:配置sql语句、参数、结果集封装类型等

2.SqlSessionFactory作用:获取SqlSession

通过new SqlSessionFactoryBuilder().build(inputStream)来构建,inputStream:读取配置文件的IO流

3.SqlSession作用:执行CRUD操作

4.Executor

执行器,SqlSession通过调用它来完成具体的CRUD它是一个接口,提供了两种实现:缓存的实现、数据库的实现

5.Mapped Statement

在映射文件里面配置,包含3部分内容:

具体的sql,sql执行所需的参数类型,sql执行结果的封装类型

参数类型和结果集封装类型包括3种:

HashMap,基本数据类型,pojo

6.xxxMapper.xml映射文件

名称空间必须改成UserMapper接口的全路径,StatementId必须和接口方法名一致,结果集的封装类型已经和方法的返回类型一致

7.mybatisconfig.xml配置文件

讲究严格的顺序,具体顺序遵循文档的顺序:

8.settings参数:

9.类型别名

1.typeAlias

<typeAliases>

           <!-- 类型别名:type-pojo类的全路径,alias-别名名称(可随便写,推荐和类名一致) -->
           <typeAlias type="cn.itcast.mybatis.pojo.User" alias="user" />
      </typeAliases>

2.package

3.typeHandlers

4.environments

1.default

2.build

5.Mappers 映射

1.resource

2.file

3.class

4.package

6.CRUD标签

1.insert :

useGeneratedKeys : 开启主键的回显 , true & false

keyColumn : 主键的列名

keyProperty : 主键对应的属性名

2.update

3.select

4.delete

7.parameterType 参数

parameterType有三种类型的输入参数:

1.基本数据类型

2.hashMap

3.pojo包装类

hashMap类型通过#{key}或者${key},复杂类型通过${key.属性名}或者#{key.属性名}

接收参数两种方式:

1.#{} : 预编译

2.${} : 非预编译 sql拼接,不能防止sql注入

${}用法:

使用${} 去接收参数信息,在一个参数时,默认情况下必须使用${value}获取参数值,

#{}用法:

#{} 只是表示占位,与参数的名字无关,如果只有一个参数,可以使用任意参数名接收参数值,会自动对应。

推荐使用@Param注解指定参数名:

#,$

#{}接收多个参数:

1.默认规则获取参数{0,1,param1,param2}

2.使用@Param注解指定参数名

如果没指定参数名,用#{0},#{1}或者#{param1},#{param2}

注意:

1.单个参数时,#{}与参数名无关的。

2.多个参数时,#{} ${}与参数名(@Param)有关。

什么时候需要加@Param注解?什么时候不加?

单个参数不加,多个参数加

终极解决方案:都加。

8.ResultMap 自定义映射

type : 结果集的封装类型 , id : 唯一标识 , autoMapping : 开启自动匹配,如果开启了驼峰匹配,就以驼峰匹配形式

id : 指定主键映射 ,不要省略,提高性能

result : 其他非主键字段 , column : 表中的字段名 , property : 对应实体类属性名



作者:传智播客JavaEE培训学院

首发:http://java.tianfu2024.sbs

0 分享到:
和我们在线交谈!