A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

一:配置文件详解

  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 : 对应实体类属性名

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马