随笔分类 - MyBatis
摘要:近来在改造一个同事的数据入库项目,发现了一些问题,其中就因为数据库联合主键的缘故导入新增的数据不能入库(这个新增的入库数据,其实对应的数据表就存在这样的数据,她那边没有针对此进行判断有则更新,仅仅是无则插入)。基于这个问题,我不想写太多的代码(查这条数据是否存在,存在则更新这样的),只想用最少的代码
阅读全文
摘要:今天遇到一个问题,MyBatis分页插件失效,导致分页无效,分页失效的原因是我在Controller里做了分页,但业务逻辑实现类对应的方法却写了两个SQL,第一个SQL是查询一条数据判断,第二个SQL是查询列表(是需要分页的),结果通过日志打印SQL,我发现它却对第一个SQL做分页。最后我的解决办法
阅读全文
摘要:错误详细信息: Caused by: org.apache.ibatis.type.TypeException: The alias 'SiteVo' is already mapped to the value 'com.test.base.vo.manager.SiteVo' 错误原因:关键在于
阅读全文
摘要:错误信息: attempted to return null from a method with a primitive return type (int). 错误原因:实际查询sql并没有这个值,出现空值,就会报这个异常。 错误sql(发生问题): select sum(id) from pos
阅读全文
摘要:关于MyBatis批量更新和添加,参考我的如下文章即可:MyBatis的批量更新实例 MyBatis的批量添加实例 另外不管是批量的新增、删除、修改、查询也好,还是单个新增、删除、修改查询也罢。都会用到动态SQL。 关于MyBatis的动态SQL可以参考我的这篇文章,如下:MyBatis实战之动态S
阅读全文
摘要:我的效果图如下(这个是我实现的): wordpress的效果图如下: sql代码: xml代码: 实体: dao代码: service代码: 实现类: 后台Controller: 前端js实现:
阅读全文
摘要:错误信息如下: 原因如下:是因为数据表中字段类型与对象中的属性类型不一致。比如在我的数据表中是datetime类型,正常来说,对象中应该是Date类型,但是本次在对象中却是String类型。 解决办法:(1)将datetime类型修改为varchar类型,即可解决问题;(2)将Java对象属性类型(
阅读全文
摘要:这个错误在MyBatis中实际上很常见,就是SQL写错了。通常通过先在MySQL命令行执行一遍sql看有没有错误,如果有就更改,没有就基本上可以用了。注意,我说的基本上可用并不代代表完全可用,比如今天我就遇到一个非常恶心的问题。 sql代码如下(这句sql经过在mysql命令行中测试,能够获取数据,
阅读全文
摘要:错误信息如下:org.xml.sax.SAXParseException;在实体引用中, 实体名称必须紧跟在 ‘’&’’ 后面 出现这个错误的原因是在xml中使用&,实际上xml中不支持这种方式,&其实是并列的意思,如果要在xml中使用&,需要将其改为英文 and才能使用。 问题代码: 将代码中的&
阅读全文
摘要:出现结果重复数SQL(四表关联): 正常的结果应该显示490条数据,但是结果显示了224941。 解决这个办法是在对应的COUNT()里面加上DISTINCT DISTINCT这个关键字主要用于过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。 注
阅读全文
摘要:玩了MyBatis差不多有两年了,中间也玩过MyBatis-Plus,这个MyBatis-Plus其实与MyBatis的区别并不大。今天写博客业务代码的时候,犯一个初学者犯过的错误。 错误信息如下:org.apache.ibatis.binding.BindingException: Invalid
阅读全文
摘要:今天主要话题围绕这么几个方面? mybatis一对多示例 sql优化策略 一、mybatis之一对多 在说一对多之前,顺便说一下一对一。 一对一,常见的例子,比如以常见的班级例子来说,一个班主任只属于一个班级(排除某个班主任能力超群可兼任多个班级). 例如: 顺便对association标签的属性进
阅读全文
摘要:本次所谈的原理仅仅只涉及基本的框架和核心代码,并不会全部都说到,比如关于MyBatis是如何解析XML文件和其他配置文件从而的到内容,还有就是JDBC如何使用,关于JDBC如何使用,可以参考我的这篇博客:单例模式和JDBC 还有就是关于Java基础方面的内容,个人建议大家抽空看看《Java编程思想》
阅读全文
摘要:如果使用JDBC或者其他框架,很多时候你得根据需要去拼接SQL,这是一个麻烦的事情,而MyBatis提供对SQL语句动态的组装能力,而且它只有几个基本的元素,非常简单明了,大量的判断都可以在MyBatis的映射XML文件里面配置,以达到许多我们需要大量代码才能实现的功能,大大减少了我们编写代码的工作
阅读全文
摘要:映射器是MyBatis最强大的工具,也是我们使用MyBatis时用得最多的工具,因此熟练掌握它十分必要。MyBatis是针对映射器构造的SQL构建的轻量级框架,并且通过配置生成对应的JavaBean返回给调用者,而这些配置主要便是映射器,在MyBatis中你可以根据情况定义动态SQL来满足不同场景的
阅读全文
摘要:MyBatis最重要的配置也就两个,一个是mybatis-config.xml,又称MyBatis的全局配置,另一个就是XXXDao.xml或XXXMapper.xml映射配置。 mybatis-config.xml配置详解 1.properties元素 properties是一个配置属性的元素,让
阅读全文
摘要:关于MyBatis与Hibernate及其JDBC的比较,大家可以参考我的这篇文章:MyBatis+Hibernate+JDBC对比分析 如果觉得这个还不够系统全面,可以自行Google或者百度。 用了MyBatis有两年了,后来觉得不好用有一定的局限性换成了MyBatis-Plus,关于MyBat
阅读全文
摘要:错误信息:java.lang.StackOverflowError 关于这个错误的深度解析,大家可以参考这篇博文,比较详细:https://blog.csdn.net/zc375039901/article/details/79179465\ 先说说这个错误,我是怎么发生的?我的这个错误与上面我推荐
阅读全文
摘要:Collection翻译过来,意为"集合"的意思,既然是集合,肯定是代表多个。 MyBatis以其自身,小巧易懂,闻名于JavaEE。 传统的JDBC就不说了,Hibernate记得是曾经的持久层框架霸主,记得早在几年前的时候,SSH(Spring+Struts2+Hibernate)是业界中应用最
阅读全文
摘要:一、反射 引用百度百科说明: JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。 JAVA反射(放射)机制:“程序运行时,允许改变程序结构或变量类型,
阅读全文