Mybatis

流程:

java工程  -->创建测试库,测试表,javabean,数据库的dao接口   

导包-->配置-->测试

配置

第一个配置文件 mybatis的全局配置文件 (指导mybatis如何正确运行)  注册sql映射文件

第二个配置文件sql映射文件(描述dao接口中方法如何工作)

namespace 名称空间写接口全类名  (告诉mybatis实现哪个接口)

测试

根据全局配置文件创建一个SqlSessionFactory

SqlSessionFactory中获取sqlSession对象操作数据库

 

config.dtd 当前xml的约束文件    标签可以改变mybatis运行时行为

批量注册   接口与映射文件要在同一个包下,包名要一样

获取自增主键的值

useGeneratedKeys = "true"    keyProperty = "id" 将自增的值封装给id属性

参数的各种取值

单个参数无需对应  或则@Param

多个参数

封装成POJO  取值 #{POJO属性名}

封装成Map   取值#{key}

 

N#{} 参数预编译方式,参数用?替代,参数后来都是预编译设置进去

${}直接和SQL语句拼串

 

默认Mybatis自动封装结果集

1.按照列和属性名--对应

2.不一一对应 

1.开启驼峰命名法 (满足驼峰规则)

2.起别名

3.自定义ResultMap(自定义结果集)

查询多个封装map   用@MapKey (“id”)使用对象的属性作为map的id

 

ResultMap(自定义类型)   返回值的封装类型

自定义映射
    type:最终结果集封装的类型
    :完成主键列的映射
        column:指定结果集的列名
        property: 指定对象的属性名
     完成普通列的映射
     : 一个复杂类型的关联
           property : 指定联合属性
           javaType : 指定联合属性的类型
      :复杂类型的集
property : 指定的联合属性
ofType : 集合中元素的类型  (这里是Employee类型)

设置外键的好处: 数据的安全性

1-N 外键一定放在N端

N-N创建中间表

推荐简单查询 , 连接查询  不推荐分步查询  标签

连接   

内连接  :  交集

外连接   : 主表  从表     取值:  主表都要  ,从表交集

OGNL表达式 对象导航语言 ,一种强大的表达式语言,通过它可以非常方便的来操作对象属性类似EL,SPEL等  

XML中特殊字符需要转义 

Mybatis 动态sql  (解决字符串拼接)   : 使用mybatis 自带标签  里面使用OGNL 表达式    

if标签  where标签 trim 标签 foreach标签 set标签  推荐由where标签和set标签 不使用trim标签
   where标签可以取代前面的and   set标签解决 后面的,

你可能感兴趣的:(Mybatis)