JAVA(一)Mybatis

JAVA(一)Mybatis,第1张

JAVA(一)Mybatis 1.介绍
  • Myvatis是一个ORM框架,帮助我们进行自定义sql对数据库进行增删改查
  • ORM:Object Relationship Mapping
  • 对象关系映射,也就是java对象和关系型数据库中表中的记录做映射的一个框架
  • 映射:将java对象转化为关系型数据库表中记录,把数据库记录转化为java对象的一个框架
2.导包

 3.动态代理

使用Mybatis的动态代理需要满足几个条件

  • Mapper.xml配置文件和Mapper接口文件是同名的
  • Mapper.xml配置文件和Mapper接口变异之后在同一级的目录之下(建议)
  • Mapper.xml配置文件的namespace必须是接口的全限定名称
  • Mapper.xml配置文件中标签的id必须和方法名对应
  • 方法的返回值类型和标签中的resultType类型要对应(select)

对于之后的开发,如果

        1.通过代理工厂,用字节码文件找到了接口的全限定类名+抽象方法名=sql 的坐标, 找到对应的参数类型(最终是建立了一个代理工厂类,类里有成员变量的类对象,以及sqlsession,通过反射获得实现类对象执行的方法,在这之前,要先判断以下)

        2.如何确定调用的是select还是dele或者insert

  在Mybatis找到SQL语句的坐标之后,会找到这个sql以及对应的标签,根据标签来调用方法

        3.如何确定调用selectOne还是selectList

        其实这时候Mybatis会去判断方法的返回值是单一值还是集合,如果是单值,就调用selectOne

我记得底层还是调用的selectList只不过返回的是list[0];

 4.配制

        1.maven导入

        2.配制文件导入

        3.全局配制导入

4.2setting

这是Mybatis中极其重要的设置,会改变其运行的行为;可以配制缓存,懒加载等

4.3TypeHandler

把jdbc.type和java.type映射起来

4.4environment

环境配制

 4.5 事务管理器

 

 4.6数据库连接池

 

  •  JNDI指定目标数据库连接池
复制模块:showexpore,复制,重命名。进入文件里删除target,进pom改对应名字,进idea添加到模块; 5.输入映射

5.1简单参数

传入一个值#{任意值}

5.2多参数

 因为mybatis不知道传入的参数对应的字段是什么

 注解绑定的值,与sql中的值相互绑定;

5.3通过对象传值,不加注解

 也就是底层会自己去反射对象的值,然后赋值;(所以这里要注意别名)

注意如果这里使用注解,那么id自增不能为空了,就要注明取值是传入的对象.的属性

#{account.id}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4689950.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-07
下一篇 2022-11-07

发表评论

登录后才能评论

评论列表(0条)

保存