作者回复: 你好,感谢你的提醒。我也去翻了下MyBatis的文档,这里的确是我把Insert的返回搞错了。
根据官方文档和我自己的验证,@Insert返回的是变动记录的条数,int也是可以的。我知道Update和Delete返回的是条数,但平时不太关心Insert的结果,结果这里就弄错了。
我已经重新写了示例代码,也重新录制了本节相关内容,极客时间的同学在制作完之后会更新上去。
再次感谢你能指出我的问题:-)
作者回复: 就希望看到同学们互相帮助,互相成长,我也会跟着大家一起学习。
作者回复: 后面会讲到MyBatis Generator,都帮你生成了。
作者回复: MyBatis的这个save()方法可以回填id到传入的对象里的, @Options里useGeneratedKeys=true,再设置keyProperty 和 keyColumn 。
作者回复: JPA底层也是要使用数据源来操作数据库的,而Druid就是一个数据源,它提供了一套好用的数据库连接池,所以他们自然是能搭配在一起使用的。可以说JPA和Druid完全是两个不同维度上的东西,不要把他们混为一谈来比。
作者回复: 从我遇到的情况来看,似乎是比较少,一般我们会用JVM内部缓存或者Redis缓存更多一点。MyBatis更多的还是ORM操作数据库,数据取出来之后,怎么做缓存是我们来处理的,而非让MyBatis来处理。
作者回复: 因为你配置了MapperFactoryBean<UserMapper>,这个Bean会帮你返回一个UserMapper的
作者回复: BigDecimal只是处理精度而已,对于货币而言,还有货币种类、货币单位、货币转换等很多东西需要考虑的。比如元转分,分转元这些Money都提供了支持。
作者回复: 你是不是在application.proeprties里没有配置mybatis.type-handlers-package,让MyBatis到指定包里去找Handler,我们的MoneyTypeHandler你可以看看,也很简单。建议完整比对一下我们Github上的Chapter 3/mybatis-demo
作者回复: 同学,完全没看出你的问题和这讲内容的关系,不知如何答复。