mybatis-demo02-一些属性

  1. 对应的实现sql语句的xml中select
    resultType 属性: 用于指定结果集的类型。
    parameterType 属性:用于指定传入参数的类型。

  2. #{}与${}
    2.1 #{}表示一个占位符号 通过#{}可以实现 preparedStatement 向占位符中设置值,自动进行 java 类型和 jdbc 类型转换, #{}可以有效防止 sql 注入。 #{}可以接收简单类型值或 pojo 属性值。 如果 parameterType 传输单个简单类 型值,#{}括号中可以是 value 或其它名称。 #{}中内容的写法: 由于数据类型是基本类型,所以此处可以随意写,它用的是 ognl 表达式。
    2.2 表 示 拼 接 s q l 串 , 通 过 {}表示拼接 sql 串,通过 sql,{}可以将 parameterType 传入的内容拼接在 sql中且不进行 jdbc 类型转换, 可 以 接 收 简 单 类 型 值 或 p o j o 属 性 值 , 如 果 p a r a m e t e r T y p e 传 输 单 个 简 单 类 型 值 , {}可以接收简 单类型值或 pojo 属性值,如果 parameterType 传输单个简单类型值, pojoparameterType{}括号中只能是 value。

    2.3 ognl 表达式: 它是 apache 提供的一种表达式语言,全称是: Object Graphic Navigation Language 对象图导航语言 它是按照一定的语法格式来获取数据的。 语法格式就是使用 #{对象.对象}的方式

基 本类 型和 String 我 们可 以直接 写类型 名称 ,也 可以 使用包 名 . 类名的 方式 ,例如 : java.lang.String。
实体类类型,目前我们只能使用全限定类名。
究其原因,是 mybaits 在加载时已经把常用的数据类型注册了别名,从而我们在使用时可以不写包名, 而我们的是实体类并没有注册别名,所以必须写全限定类名

resultMap 标签可以建立查询的列名和实体类的属性名称不一致时建立对应关系。从而实现封装。 在 select 标签中使用 resultMap 属性指定引用即可。同时 resultMap 可以实现将查询结果映射为复杂类 型的 pojo,比如在查询结果映射对象中包括 pojo 和 list 实现一对一查询和一对多查询。
type 属性:指定实体类的全限定类名 id 属性:给定一个唯一标识,是给查询 select 标签引用用的。 -->

<resultMap type="com.itheima.domain.User" id="userMap"> 
 <id column="id" property="userId"/> 
  <result column="username" property="userName"/>  
  <result column="sex" property="userSex"/> 
  <result column="address" property="userAddress"/>  		<result column="birthday" property="userBirthday"/> </resultMap> 

id 标签:用于指定主键字段
result 标签:用于指定非主键字段
column 属性:用于指定数据库列名
property 属性:用于指定实体类属性名称

  1. 配置内容
    SqlMapConfig.xml 中配置的内容和顺序

-properties(属性)
–property -
settings(全局配置参数)–setting
-typeAliases(类型别名)–typeAliase
–package -typeHandlers(类型处理器)
-objectFactory(对象工厂) -plugins(插件) -environments(环境集合属性对象)
–environment(环境子属性对象)
—transactionManager(事务管理)
—dataSource(数据源)
-mappers(映射器)
–mapper
–package

Guess you like

Origin blog.csdn.net/weixin_46809332/article/details/115583871