mybatis
秀发浓密的程序猿
这家伙很懒,啥都没写···
展开
-
mybatis工作流程图
mybatis简介:mybaits是一个持久层的框架,apache的一个顶级项目。mybatis让程序员讲主要精力放在sql上,通过mybatis提供提供的映射方式,自由灵活生成(半个ORM框架,半自动化,sql需要程序员书写)满足业务需求,mybatis将preparedStatement中的输入参数自动进行输入映射,并且将查询结构灵活地映射为java类型。mybatis使用方法有两种,如下:...原创 2019-05-17 14:57:07 · 3830 阅读 · 2 评论 -
Mapper 编写有哪几种方式?
第一种: 接口实现类继承 SqlSessionDaoSupport: 使用此种方法需要编写mapper 接口, mapper 接口实现类、mapper.xml 文件。1、在 sqlMapConfig.xml 中配置 mapper.xml 的位置<mappers><mapper resource="mapper.xml 文件的地址" /><mapper resource="mapper.xml 文件的地址" /></mappers>2、定义 ma原创 2020-09-28 14:32:25 · 1306 阅读 · 0 评论 -
Mybatis 是否支持延迟加载?如果支持,它的实现原理是什么?
Mybatis 仅支持 association 关联对象和 collection 关联集合对象的延迟加载,association 指的就是一对一, collection 指的就是一对多查询。在 Mybatis 配置文件中, 可以配置是否启用延迟加载 lazyLoadingEnabled=true|false。它的原理是, 使用 CGLIB 创建目标对象的代理对象, 当调用目标方法时, 进入拦截器方法, 比如调用 a.getB().getName(), 拦截器 invoke()方法发现 a.getB(原创 2020-09-28 14:23:32 · 1629 阅读 · 0 评论 -
mybatis一对一、一对多的关联查询
<mapper namespace="com.lcb.mapping.userMapper"><!--association 一对一关联查询 --><select id="getClass" parameterType="int"resultMap="ClassesResultMap">select * from class c,teacher t where c.teacher_id=t.t_id andc.c_id=#{id}</select>原创 2020-09-28 14:20:09 · 338 阅读 · 0 评论 -
insert和insertSelective的区别
使用逆向工程生成的代码做一个添加时通常都会给出两个答案,如题目想要增加一条数据会让你选择insert或者insertSelective两者的区别在于如果选择insert 那么所有的字段都会添加一遍即使没有值但是如果使用inserSelective就会只给有值的字段赋值(会对传进来的值做非空判断)...原创 2020-06-30 19:15:47 · 578 阅读 · 0 评论