#yb

【MyBatis源码分析】插件实现原理

MyBatis插件原理----从<plugins>解析开始本文分析一下MyBatis的插件实现原理,在此之前,如果对MyBatis插件不是很熟悉的朋友,可参看此文MyBatis7:MyBatis插件及示例----打印每条SQL语句及其执行时间,本文我以一个例子说明了MyBatis插件是什么以及如何实现。由于...

【MyBatis源码分析】select源码分析及小结

示例代码之前的文章说过,对于MyBatis来说insert、update、delete是一组的,因为对于MyBatis来说它们都是update;select是一组的,因为对于MyBatis来说它就是select。本文研究一下select的实现流程,示例代码为:1publicvoidtestSelectOne(){2Sy...

MyBatis7:MyBatis插件及示例----打印每条SQL语句及其执行时间

Plugins摘一段来自MyBatis官方文档的文字。MyBatis允许你在某一点拦截已映射语句执行的调用。默认情况下,MyBatis允许使用插件来拦截方法调用Executor(update、query、flushStatements、commint、rollback、getTransaction、close、isCl...

【MyBatis源码分析】insert方法、update方法、delete方法处理流程(下篇)

Configuration的newStatementHandler分析SimpleExecutor的doUpdate方法上文有分析过:1publicintdoUpdate(MappedStatementms,Objectparameter)throwsSQLException{2Statementstmt=null;3...

【MyBatis源码分析】insert方法、update方法、delete方法处理流程(上篇)

打开一个会话Session前文分析了MyBatis将配置文件转换为Java对象的流程,本文开始分析一下insert方法、update方法、delete方法处理的流程,至于为什么这三个方法要放在一起说,是因为:从语义的角度,insert、update、delete都是属于对数据库的行进行更新操作从实现的角度,我们熟悉的P...

【MyBatis源码分析】Configuration加载(下篇)

元素设置继续MyBatis的Configuration加载源码分析:1privatevoidparseConfiguration(XNoderoot){2try{3Propertiessettings=settingsAsPropertiess(root.evalNode("settings"));4//issue#1...

【MyBatis源码分析】Configuration加载(上篇)

config.xml解析为org.w3c.dom.Document本文首先来简单看一下MyBatis中将config.xml解析为org.w3c.dom.Document的流程,代码为上文的这部分:1static{2try{3reader=Resources.getResourceAsReader("mybatis/c...

MyBatisplus 使用IPage和Page分页

@RequestMapping(value="/cityList",method=RequestMethod.POST)publicResponseVo<IPage<GovernanceRegulationClosePo>>querySearchCityDataList(@RequestBody...

mybatis注解开发实体类属性和数据库字段不对应问题

/***查询所有用户*@return*/@Select("select*fromuser")@Results(id="userMap",value={@Result(id=true,column="id",property="userId"),@Result(column="username",property="us...

mybatis多对多

这里我们以用户 user表和角色role表为例,假定一个用户能被分配成多重角色,而一种角色也能分给多个用户,故用户和角色构成多对多的关系需求:给定角色id,查询这个角色所属的所有用户信息①、在数据库中建立相应的表  user表  role表   两者之间的关联表user_role...
代码星球 ·2020-07-28

mybatis多对一

产品和分类的多对一关系多个产品属于一个分类publicclassProduct{privateintid;privateStringname;privatefloatprice;privateCategorycategory;publicCategorygetCategory(){returncategory;}pub...
代码星球 ·2020-07-28

mybatis一对多

分类和产品的一对多关系一个分类中有多个产品publicclassProduct{privateintid;privateStringname;privatefloatprice;publicintgetId(){returnid;}publicvoidsetId(intid){this.id=id;}publicStr...
代码星球 ·2020-07-28

Mybatis 的动态 SQL 语句

ifif就是__简单的条件判断__,利用if语句我们可以实现某些简单的条件选择。先来看如下一个例子:<selectid="selectUserByUserNameAndSex"resultType="com.george.pojo.User"parameterType="com.george.pojo.User"...
代码星球 ·2020-07-28

Mybatis——实体类属性名和数据库字段名不同时的解决办法

在使用Mybatis来持久化数据库时,有时候会碰到数据库中表中的字段与java实体类中属性名不一致的情况,在这种情况下Mybatis是不能完成字段的自动映射的。而通常情况下,数据库及实体类是不应该被改的的。所以要在不改变数据库以及实体类的情况下解决这个问题,下面是解决该问题的三种方式:java实体类:publiccla...

MyBatis学习教程

MyBatis由浅入深,可以参考我的如下文章,也许不是特别全面,但是对于你的学习,我相信一定会有帮助,这个帮助的大小,不仅仅是取决我个人文章的质量,更取决你的态度和用心。 系统教程(教你如何使用的前提下,同时也让你懂些相关的理论知识,算是一种知行合一吧): MyBatis+Hibernate+JDB...
代码星球 ·2020-07-24
首页上一页...3233343536...下一页尾页