jeecg : Minidao报错“Template java/lang/Object_toString.sql not found”的解决方案

引起此问题的原因有两种:

第一种是官方文档中所述的“Minidao版本过低,需要升级Minidao的版本”。此时修改一下pom文件中的Minidao的version即可。

<dependency>
    <groupId>org.jeecgframework</groupId>
    <artifactId>minidao-pe</artifactId>
    <version>1.6.7</version>
</dependency>

第二种是我们的代码中有可能触发了@Minidao做注解的接口的toString方法。比如我们建立了如下接口:

@MiniDao
public interface UserDao {
	@Arguments("id")
	@ResultType(String.class)
	@Sql("select username from tb_user where id=:id")
	public String getUserNameById(String id);
}

然后我们在注入该Dao的Service类中直接打印该Dao来判断是否注入成功:

@Controller
@RequestMapping("/userController")
public class UserController extends BaseController {
    private static final Logger logger = LoggerFactory.getLogger(UserController.class);

	@Autowired
	private UserDao userDao;

	@RequestMapping(params = "list")
	public ModelAndView list(HttpServletRequest request) {
		logger.info("userDao = " + userDao);
		return new ModelAndView("com/jeecg/demo/userlist");
	}
}

此时会触发UserDao的toString方法从而导致抛出异常。因此我们可以通过修改语句来避免触发toString方法即可。例如:

logger.info("userDao = " + (accountbookTypeDao == null));

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值