2020
10-13
10-13
MyBatis还是JPA?终于有答案了
对于一个和数据库打交道的程序员来说,很快会面临着一个艰难的选择。到底是选择MyBatis还是JPA呢?很多人说,技术选择,都要根据需求来,这个没错。但是,除了需求,还有很重要的一个环节,那就是队友的水平。如果你选择了一些比较高级的技术,那么就是在给整个团队埋坑。JPA的抽象层次更高,代码写起来也更简洁,但是它一点都不简单。虽然经过了多次的培训,我呆过的几个团队,还是把它用的和屎一样。我扔掉了JPA我仔细想了一下,...
继续阅读 >
最近在项目开发中发现一件非常有意思的事情,一个Mapper.java文件中有一个查询方法没有返回值,这引起了我的好奇心,没有返回值查询还有什么用呢?仔细去看这个Mapper.java文件对应的xml文件发现,查询正常,肯定是有返回值的。可是为什么方法中却没有写返回值呢?这就让人感觉奇怪了。仔细查看方法,发现除了前面传递的两个参数之外,最后还有一个参数KeyValueMapResultHandler,那这个参数是用来做什么的呢?点进去一看才知道它...
利用mybtis插件打印完整的sql,将占位符?替换成实际值importorg.apache.ibatis.cache.CacheKey;importorg.apache.ibatis.executor.Executor;importorg.apache.ibatis.mapping.BoundSql;importorg.apache.ibatis.mapping.MappedStatement;importorg.apache.ibatis.mapping.ParameterMapping;importorg.apache.ibatis.mapping.ParameterMode;importorg.apache.ibatis.plugin.*;importorg.apache.ibatis.reflection.MetaObje...
1.编写目的这个介绍的与那些修改mybatis.xml文件的方法不一样,目的也不一样。当我们需要查询的数据跟entity的bean完全不匹配的时候(比如说需要统计的时候),我们不可能写多个dao层的查询接口,然后一个一个map到xml中去。我们可以专门写一个类,根据自己的需要把统计的属性都写到里面去,然后一次性查询,就可以获得所有需要统计的数据。2.重要方法专门编写一个实体类。实体类中包含的都是自己需要统计的属性。编写dao层的接...
场景:PageHelper的默认分页方案是selectcount(0)from(你的sql)table_count由于查询数据比较大时,导致分页查询效率低下。优化:使用自定义的count查询。、废话不多说,对应代码如下:这个时候会使用自定义的countsql进行统计查询。然后一般分页默认使用PageHelper.startPage();作者优化:如果获取的数量大于实际数量,则进行pageNum优化。所以最好建议重载startPage。不进行优化!!!要不然莫名其妙的分页失效。每...
需求:搜索框中可输入手机号,姓名,地址查询,后台需要对一个框中的多个字段做匹配查询。搜索可以在sql语句中做拼接条件查询:<iftest="condition!=nullandcondition!=''">ANDCONCAT(r.name,a.name,a.phone,a.addr_detail)LIKE'%'#{condition}'%'</if>补充知识:在Mybatisxml使用mysql数据库进行多字段模糊查询(Like)在mysql中使用Like进行一些简单轻量级的查询,并不需要考虑太多效率问题。一、Like单字段查询比较简...
前言相信我们很多人在java项目开发中,用到了mybatis框架,但是为了开发的效率,我们这期推荐一个好用的mybatis插件-MybatisCodeHelperPro,它能够帮你更快的生成DML语句,以及相应的数据表dao、实体model等。一、idea集成MybatisCodeHelperPro?1.idea-plugins-Marketplace下载可以在idea里的Preferences-plugins-Marketplace下载,搜索MybatisCodeHelperPro,出现如下界面:然后安装即可2.下载MybatisCodeHelperPro压缩包可以在...
步骤1.破解包下载地址:https://gitee.com/pengzhile/MyBatisCodeHelper-Pro-Crack/releases步骤2.下载:IntellijIDEAplugins搜索安装:MyBatisCodeHelperPro(会要求输入key激活使用收费版功能,暂时忽略)重启IDEA;步骤三破解:下载完成后,进入IntellijIDEAplugins从硬盘安装步骤一中下载的MybatisCodeHelperNew-2.5-IDEA173-IDEA191.zip,重启IDEA,重启完成后输入任意Key即可破解;(亲测v2.0.2-IDEA173-IDEA182版有效...
一、配置逆向generatoe.xml<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEgeneratorConfigurationPUBLIC"-//mybatis.org//DTDMyBatisGeneratorConfiguration1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><generatorConfiguration><contextid="DB2Tables"targetRuntime="MyBatis3"><!--是否生成注释--><commentGenerator><propertyname="suppressAllComment...
一般出现这个情况的时候,怎么办?第一步:不要慌,保持冷静的思考和清醒的头脑,这很关键!第二步:打开浏览器,搜索一下:Cannotobtainprimarykeyinformationfromthedatabase,generatedobjectsmaybeincomplete这个错误,遇到这种情况的时候,代码生成器就只会生成insert和selectAll这两个方法,这个时候需要在jdbc配置的connectionURL上加上一个参数:nullCatalogMeansCurrent=true。然后重新执行代码生成器,就可以...