Mybatis

流程:

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

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

配置

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

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

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

测试

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

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

 

config.dtd 当前xml的约束文件    <settings>标签可以改变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:最终结果集封装的类型
    <id>:完成主键列的映射
        column:指定结果集的列名
        property: 指定对象的属性名
    <result> 完成普通列的映射
    <association> : 一个复杂类型的关联
           property : 指定联合属性
           javaType : 指定联合属性的类型
    <collection>  :复杂类型的集
property : 指定的联合属性
ofType : 集合中元素的类型  (这里是Employee类型)

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

1-N 外键一定放在N端

N-N创建中间表

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

连接   

内连接  :  交集

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

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

XML中特殊字符需要转义 

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

if标签  where标签 trim 标签 foreach标签 set标签  推荐由where标签和set标签 不使用trim标签
<if test="id!=null">   where标签可以取代前面的and   set标签解决 后面的,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值