一切福田,不離方寸,從心而覓,感無不通。

Category Archives: Java

Exception in thread “main“ java.lang.NoClassDefFoundError: org/mybatis/generator/api/dom/xml/Element

错误日志:

  原因及其解决办法: 错误日志中很明显的说是 mybatis 的代码自动生成依赖 generator 的 api 存在问题,查看 pom.xml 文件的依赖,发现引用是正常的,也就是说引用和使用都不可能有问题,因为我并没有直接操作 generator 的 api ,那么只可能是版本的问题了,而我的这个依赖的版本是 1.4.0 ,是目前最高的版本: 所以只有可能是我的版本太高了,下降一个版本试试,换成1.3.7的果然就好了!看来做这个不能写的太满,不然很容易给自己埋雷啊!   from:https://www.cnblogs.com/90s-ITBoy/p/13388452.html

龙生   12 Oct 2020
View Details

在 Gradle 中使用 MyBatis Generator

在 Intellij IDEA 中结合 Gradle 使用 MyBatis Generator 逆向生成代码 Info: JDK 1.8 Gradle 2.14 Intellij IDEA 2016.3 前言 由于 IDEA 的教程较少,且 MyBatis Generator 不支持 Gradle 直接运行,因此这次是在自己折腾项目过程中,根据一些参考资料加上自己的实践得出的结论,并附上相应的 Demo 可供自己未来参考,也与大家分享。 本文的 Demo 也可以当作工具直接导入 IDEA,加上自己的数据库信息即可生成代码。 创建项目 详细的创建步骤可以参考使用 Gradle 构建 Struts 2 Web 应用中「新建 Gradle Web 项目」一节即可。当创建完毕,需要等待 Gradle 联网构建,由于国内网络因素,可能需要稍作等待。当构建完成,目录结构应如下图一致: Gradle 构建完成 配置依赖 这里需要使用 MyBatis Generator,MySQL 驱动,以及 MyBatis Mapper。由于代码生成单独运行即可,不需要参与到整个项目的编译,因此在 build.gradle 中添加配置:

  在 Maven Repository (http://mvnrepository.com/) 分别搜索依赖: org.mybatis.generator mysql-connector-java tk.mybatis:mapper 依赖的版本并不是局限于某个特定版本,可以选择适时相应的更新版本。添加到 build.gradle 的 dependencies 中(注意前面需将「compile group:」改为 「mybatisGenerator」):

  设置数据库信息 在 resources 下,新建 mybatis 文件夹,并新建 config.properties 和 generatorConfig.xml,文件结构如下: 配置文件目录 在 config.properties 中配置数据库和要生成的 […]

龙生   12 Oct 2020
View Details

com.mysql.cj.jdbc.Driver和com.mysql.jdbc.Driver的区别

今天写东西测试的时候发现一个问题,如下: application.yml中数据源是这样配置的: 第一反应就是记忆中连接mysql的驱动不都是com.mysql.jdbc.Driver吗?com.mysql.cj.jdbc.Driver是什么鬼? 后来查看了一下才知道 这个跟驱动的依赖版本有关

com.mysql.cj.jdbc.Driver是mysql-connector-java 6 中的特性,相比mysql-connector-java 5 多了一个时区:serverTimezone,把数据源配置的驱动改一下就好了 这样启动就不会再报:Loading class com.mysql.jdbc.Driver'. This is deprecated. The new driver class iscom.mysql.cj.jdbc.Driver’. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary. 使用UTC会有8小时的时差(中国快全球标准8小时,比如:全球标准当前是上午1点,中国时间则为上午9点),可设置为北京时间东八区GMT%2B8 或者上海时间Asia/Shanghai。 总结: com.mysql.jdbc.Driver和mysql-connector-java 5一起用。 com.mysql.cj.jdbc.Driver和mysql-connector-java 6 一起用。 from:https://blog.csdn.net/weixin_43770545/article/details/90486809

龙生   12 Oct 2020
View Details

首次使用gradle出现Could not find method leftShift() for arguments解决办法

1、在win10桌面编写test.gradle脚本,里面内容如下

2、在doc命令窗口执行脚本

结果如下: 3、解决办法 查看为gradle 5.0中 &lt;&lt; 已经过时了,即(<<),是推荐使用doLast 来替代的,可以通过降低gradle版本(比如4.10.1)或者使用doLast解决 重新修改脚本如下,执行后正常输出’Hello gradle qick start

或者

  人要耐得住寂寞,才能守得住繁华。人生最痛苦的就是拿不起放不下,不属于自己的快乐,及时放手也许是一种解脱,生活中没有谁对谁错,只有适不适合。当发现很多已经改变,更要面对的是事实。 from:https://www.cnblogs.com/yuanchaoyong/p/11421595.html

龙生   12 Oct 2020
View Details

使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件

Mybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文件,由于手动书写很容易出错,我们可以利用Mybatis-Generator来帮我们自动生成文件。 1、相关文件 关于Mybatis-Generator的下载可以到这个地址:https://github.com/mybatis/generator/releases 由于我使用的是Mysql数据库,这里需要在准备一个连接mysql数据库的驱动jar包 以下是相关文件截图: 和Hibernate逆向生成一样,这里也需要一个配置文件: generatorConfig.xml

  需要修改文件配置的地方我都已经把注释标注出来了,这里的相关路径(如数据库驱动包,生成对应的相关文件位置可以自定义)不能带有中文。 上面配置文件中的:

tableName和domainObjectName为必选项,分别代表数据库表名和生成的实力类名,其余的可以自定义去选择(一般情况下均为false)。 生成语句文件:

2、使用方法 在该目录按住Shift键,右键鼠标选择"在此处打开命令窗口",复制粘贴生成语句的文件代码即可。 看下效果图:   生成相关代码: Message.java

  MessgaeMapper.xml

  MessgaeMapper.java

  from:https://www.cnblogs.com/zhujiabin/p/4990762.html

龙生   10 Oct 2020
View Details

Spring Boot(六):如何优雅的使用 Mybatis

这两天启动了一个新项目因为项目组成员一直都使用的是 Mybatis,虽然个人比较喜欢 Jpa 这种极简的模式,但是为了项目保持统一性技术选型还是定了 Mybatis 。到网上找了一下关于 Spring Boot 和 Mybatis 组合的相关资料,各种各样的形式都有,看的人心累,结合了 Mybatis 的官方 Demo 和文档终于找到了最简的两种模式,花了一天时间总结后分享出来。 Orm 框架的本质是简化编程中操作数据库的编码,发展到现在基本上就剩两家了,一个是宣称可以不用写一句 Sql 的 Hibernate,一个是可以灵活调试动态 Sql 的 Mybatis ,两者各有特点,在企业级系统开发中可以根据需求灵活使用。发现一个有趣的现象:传统企业大都喜欢使用 Hibernate ,互联网行业通常使用 Mybatis 。 Hibernate 特点就是所有的 Sql 都用 Java 代码来生成,不用跳出程序去写(看) Sql ,有着编程的完整性,发展到最顶端就是 Spring Data Jpa 这种模式了,基本上根据方法名就可以生成对应的 Sql 了,有不太了解的可以看我的上篇文章Spring Boot(五): Spring Data Jpa 的使用。 Mybatis 初期使用比较麻烦,需要各种配置文件、实体类、Dao 层映射关联、还有一大推其它配置。当然 Mybatis 也发现了这种弊端,初期开发了generator可以根据表结果自动生产实体类、配置文件和 Dao 层代码,可以减轻一部分开发量;后期也进行了大量的优化可以使用注解了,自动管理 Dao 层和配置文件等,发展到最顶端就是今天要讲的这种模式了,mybatis-spring-boot-starter 就是 Spring Boot+ Mybatis 可以完全注解不用配置文件,也可以简单配置轻松上手。 现在想想 Spring Boot 就是牛逼呀,任何东西只要关联到 Spring Boot 都是化繁为简。 mybatis-spring-boot-starter 官方说明:MyBatis Spring-Boot-Starter will help you use MyBatis with Spring Boot 其实就是 Mybatis 看 Spring Boot 这么火热也开发出一套解决方案来凑凑热闹,但这一凑确实解决了很多问题,使用起来确实顺畅了许多。mybatis-spring-boot-starter主要有两种解决方案,一种是使用注解解决一切问题,一种是简化后的老传统。 当然任何模式都需要首先引入mybatis-spring-boot-starter的 Pom 文件,现在最新版本是 2.0.0 […]

龙生   30 Sep 2020
View Details

gradle 淘宝镜像

配置gradle镜像 在 %USERPROFILE%\.gradle下面创建新文件init.gradle,输入下面的内容并保存

  配置maven镜像 复制E:\maven\apache-maven-3.3.9\conf中的settings.xml到%USERPROFILE%\.m2中,修改mirrors即可。

  build.gradle 配置

  作者:liurongming 链接:https://www.jianshu.com/p/67b547b4e6ae 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

龙生   25 Sep 2020
View Details

MariaDB 10.4.12 Stable Row size too large (> 8126). Changing some columns to TEXT or BLOB may help.

MariaDB 10.4.12 Stable# Row size too large (> 8126). Changing some columns to TEXT or BLOB may help.# 以下两步解决问题 1. 修改my.ini文件在[mysqld]下面加入下面三行#

  2. 新建一个查询进行如下操作将nombre_tabla改成你的表名#

    from:https://www.cnblogs.com/fanlinglong/p/12425116.html

龙生   24 Sep 2020
View Details

springboot(八) 开启热部署之Idea&Gradle

一、引入starter

  二、开启自动编译 第一步

  弹出以下界面   第二步 点击Registry,勾选compiler.automake.allow.when.app.running   第三步 勾选 Make/Build project automatically 重新运行项目,随意改一个java类,看看项目是不是重启了^_^   from:https://blog.csdn.net/JonWu0102/article/details/81064776

龙生   23 Sep 2020
View Details

Gradle依赖排除

在引用依赖时经常会有这样的问题:某些间接引用的依赖项是不需要的;产生了依赖冲突。此时需要排除一些依赖。 下面的内容介绍了几种在gradle中排除依赖的方式。 在dependency中排除     1 2 3 4 5 6 7 8 dependencies { compile('com.zhyea:ar4j:1.0') { //excluding a particular transitive dependency: exclude module: 'cglib' //by artifact name exclude group: 'org.jmock' //by group exclude group: 'org.unwanted', module: 'iAmBuggy' //by both name and group } } 这种方式是粒度最细的,也是最为繁琐的。此时可以考虑全局设置。 在全局配置中排除 全局配置是在configuration中完成的。   1 2 3 4 configurations { compile.exclude module: 'cglib' all*.exclude group:’org.unwanted', module: 'iAmBuggy' }   禁用传递依赖 禁用传递依赖需要将属性transitive设置为false。可以在dependency中禁用传递依赖,也可以在configuration中全局禁用:   1 2 3 4 5 6 7 compile('com.zhyea:ar4j:1.0') { transitive = false }   configurations.all { transitive = false } 还可以在单个依赖项中使用@jar标识符忽略传递依赖: […]

龙生   23 Sep 2020
View Details
1 39 40 41 64