设为首页收藏本站

JEECG官方网站-企业级JAVA快速开发平台

 找回密码
 立即注册

关注JEECG发展历程 关注最新动态和版本, 记录JEECG成长点滴 最新动态 - 技术支持 - 师徒架构班

JEECG最新版本下载 JEECG智能开发平台 - 显著提高开发效率 常见问题 - 入门视频 - 参与开源团队

商务 QQ: 3102411850、418799587 商务热线: 18611788525 客服电话: 010-64808099 官方邮箱: jeecgos@163.com

查看: 5651|回复: 10

[Minidao] 关于minidao1.6.2最新版本与spring boot整合bug反馈

[复制链接]

1

主题

0

好友

66

积分

注册会员

Rank: 3Rank: 3

发表于 2018-4-11 20:38:38 |显示全部楼层
本帖最后由 veteran123 于 2018-4-13 00:48 编辑

minidao 在上一个项目中使用起来非常得心应手。
这次使用了minidao最新版本1.6.2,在整合spring boot 时发现一个问题,就是根本无法读到sql文件,@Sql注解可以正常使用。
下面是maven配置
  1. <dependency>
  2.             <groupId>org.freemarker</groupId>
  3.             <artifactId>freemarker</artifactId>
  4.             <version>2.3.28</version>
  5.         </dependency>
  6.         <dependency>
  7.             <groupId>org.jeecgframework</groupId>
  8.             <artifactId>freemarker-null</artifactId>
  9.             <version>2.3.19</version>
  10.         </dependency>
  11.         <dependency>
  12.             <groupId>org.jeecgframework</groupId>
  13.             <artifactId>minidao-pe</artifactId>
  14.             <version>1.6.2</version>
  15.         </dependency>
复制代码
spring boot 的配置代码
  1. @Bean(name = "miniDaoHandler")
  2.     public MiniDaoBeanScannerConfigurer getMiniDaoBeanScannerConfigurer(){
  3.         MiniDaoBeanScannerConfigurer miniDaoBeanScannerConfigurer = new MiniDaoBeanScannerConfigurer();
  4.         miniDaoBeanScannerConfigurer.setKeyType("lower");
  5.         miniDaoBeanScannerConfigurer.setFormatSql(true);
  6.         miniDaoBeanScannerConfigurer.setShowSql(true);
  7.         miniDaoBeanScannerConfigurer.setDbType("mysql");
  8.         miniDaoBeanScannerConfigurer.setBasePackage("com.movitech.cyperion");
  9.         miniDaoBeanScannerConfigurer.setEmptyInterceptor(new MinidaoInterceptor());
  10.         return miniDaoBeanScannerConfigurer;
  11.     }
复制代码
直接写sql语句在@Sql注解里面没有问题
  1. @MiniDao
  2. public interface DimensionDao {

  3.     @Arguments({"name"})
  4.     @Sql("select * from mc_dimension\n" +
  5.             "<#if name ?exists  && name  ?length gt 0 >\n" +
  6.             "\twhere mc_dimension.name = :name\n" +
  7.             "</#if>")
  8.     @ResultType(Dimension.class)
  9.      List<Dimension> getAllDimension( String name);
  10. }
复制代码
如果把sql内容移到sql文件中,就会读不到sql模板错误

sql语句移到sql文件

sql语句移到sql文件


错误信息:

错误日志

错误日志



解决方案在pom文件中加
  1. <resources>
  2.             <resource>
  3.                 <directory>src/main/java</directory>
  4.                 <includes>
  5.                     <include>**/*.sql</include>
  6.                 </includes>
  7.             </resource>
  8.         </resources>
复制代码

1

主题

0

好友

66

积分

注册会员

Rank: 3Rank: 3

发表于 2018-4-11 20:52:18 |显示全部楼层
各位大神可以自己整一个看看呢
回复

使用道具 举报

1

主题

0

好友

66

积分

注册会员

Rank: 3Rank: 3

发表于 2018-4-11 21:25:22 |显示全部楼层
我参考了下minidao常见错误。把1.6.2升级到1.6.3了。还是不行。

http://www.jeecg.org/forum.php?m ... &extra=page%3D1
这个帖子说

115. minidao 提示sql文件不存在,实际sql存在。
     问题原因: 此为minidao提示不准确问题,真正问题是sql模板freemarker语法错误。
     解决方案:可以引用minidao最新版1.6.3


3.png

最简单的sql语句了,应该不是语法错误引起了吧。


回复

使用道具 举报

1

主题

0

好友

66

积分

注册会员

Rank: 3Rank: 3

发表于 2018-4-11 21:36:25 |显示全部楼层
@EnableAutoConfiguration(exclude = { FreeMarkerAutoConfiguration.class })
@ImportResource(locations={"classpath:spring-minidao.xml"})
回复

使用道具 举报

1

主题

0

好友

66

积分

注册会员

Rank: 3Rank: 3

发表于 2018-4-11 21:36:50 |显示全部楼层

@EnableAutoConfiguration(exclude = { FreeMarkerAutoConfiguration.class })
@ImportResource(locations={"classpath:spring-minidao.xml"})
这两个我也加了,还是没用
回复

使用道具 举报

414

主题

31

好友

1万

积分

管理员

Rank: 12Rank: 12Rank: 12

最佳新人 活跃会员 热心会员 推广达人 宣传达人 灌水之王 突出贡献 优秀版主 荣誉管理 JEECG团队成员

发表于 2018-4-12 09:25:36 |显示全部楼层
你看看项目编译 sql文件打进去了吗
专业解答JEECG疑难杂症,JEECG常见问题汇总在:http://t.cn/RvYsEF6
回复

使用道具 举报

1

主题

0

好友

66

积分

注册会员

Rank: 3Rank: 3

发表于 2018-4-12 13:24:30 |显示全部楼层
admin 发表于 2018-4-12 09:25
你看看项目编译 sql文件打进去了吗

我是run main方法啊,不是打包
回复

使用道具 举报

414

主题

31

好友

1万

积分

管理员

Rank: 12Rank: 12Rank: 12

最佳新人 活跃会员 热心会员 推广达人 宣传达人 灌水之王 突出贡献 优秀版主 荣誉管理 JEECG团队成员

发表于 2018-4-12 14:05:06 |显示全部楼层
无论你那种方式,你需要确认*.sql文件在不在class里面
专业解答JEECG疑难杂症,JEECG常见问题汇总在:http://t.cn/RvYsEF6
回复

使用道具 举报

414

主题

31

好友

1万

积分

管理员

Rank: 12Rank: 12Rank: 12

最佳新人 活跃会员 热心会员 推广达人 宣传达人 灌水之王 突出贡献 优秀版主 荣誉管理 JEECG团队成员

发表于 2018-4-12 14:08:11 |显示全部楼层
专业解答JEECG疑难杂症,JEECG常见问题汇总在:http://t.cn/RvYsEF6
回复

使用道具 举报

1

主题

0

好友

66

积分

注册会员

Rank: 3Rank: 3

发表于 2018-4-13 00:47:32 |显示全部楼层
admin 发表于 2018-4-12 14:05
无论你那种方式,你需要确认*.sql文件在不在class里面

提醒我了。找了下确实*.sql文件不在classpath里面。pom文件中要加
  1. <resources>
  2.             <resource>
  3.                 <directory>src/main/java</directory>
  4.                 <includes>
  5.                     <include>**/*.sql</include>
  6.                 </includes>
  7.             </resource>
  8.         </resources>
复制代码
就可以解决了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|JEECG官方网站-企业级JAVA快速开发平台 ( 京ICP备12013567号-3 )  

GMT+8, 2019-1-19 20:35 , Processed in 1.279202 second(s), 23 queries , Gzip On.

JEECG Open Source

© 2001-2012 Comsenz Inc.

回顶部