ityouknow / blog-comments

15 stars 0 forks source link

springboot(六):如何优雅的使用mybatis - ityouknow's Blog #52

Open ityouknow opened 6 years ago

ityouknow commented 6 years ago

http://www.ityouknow.com/springboot/2016/11/06/springboot(%E5%85%AD)-%E5%A6%82%E4%BD%95%E4%BC%98%E9%9B%85%E7%9A%84%E4%BD%BF%E7%94%A8mybatis.html

这两天启动了一个新项目因为项目组成员一直都使用的是mybatis,虽然个人比较喜欢jpa这种极简的模式,但是为了项目保持统一性技术选型还是定了 mybatis。到网上找了一下关于spring boot和mybatis组合的相关资料,各种各样的形式都有,看的人心累,结合了mybatis的官方demo和文档终于找到了...

hiXHX commented 6 years ago

.....

zlf240114434 commented 6 years ago

为什么我的就注入不进去呢?接口上也用了mapper,run as 的时候一直Field bm in com.zmqy.serivce.impl.SetTokenSerivceImpl required a bean of type 'com.zmqy.mapper.BindMapper' that could not be found.

Action:

Consider defining a bean of type 'com.zmqy.mapper.BindMapper' in your configuration.

KaneTing-zz commented 6 years ago

@zlf240114434 为什么我的就注入不进去呢?接口上也用了mapper,run as 的时候一直Field bm in com.zmqy.serivce.impl.SetTokenSerivceImpl required a bean of type 'com.zmqy.mapper.BindMapper' that could not be found.

Action:

Consider defining a bean of type 'com.zmqy.mapper.BindMapper' in your configuration.

我也是,提示找不到sqlSessionFactory或者sqlSessionTemplete

greatzerg commented 6 years ago

虽然可以运行起来,但感觉mybatis-config.xml没有起到作用,我在其中添加了:

但在UserMapper.xml中使用User替代com.neo.entity.UserEntity,启动就会异常: java.lang.ClassNotFoundException: Cannot find class: User

请问在springboot中,mybatis如何才能使用别名呢?

greatzerg commented 6 years ago

添加的是com.neo.entity.UserEntity对应的typeAlias

crystalcyw commented 6 years ago

@greatzerg 虽然可以运行起来,但感觉mybatis-config.xml没有起到作用,我在其中添加了:

但在UserMapper.xml中使用User替代com.neo.entity.UserEntity,启动就会异常: java.lang.ClassNotFoundException: Cannot find class: User

请问在springboot中,mybatis如何才能使用别名呢?

application.yml中配置mybatis.type-aliases-package=xxx应该可以吧

greatzerg commented 6 years ago

@crystalcyw 解决方法是这样的: 在application.properties中设置mybatis.type-aliases-package=com.neo.entity后,就可以在mapper对应的xml中,使用UserEntity来指定com.neo.entity.UserEntity。 但如果要取另外的别名,就只有再mybatis对应的基本配置文件中,再中使用来设置另外的别名。 而且还必须在application.properties中使用mybatis.config-location来指定基本配置文件的路径。

luhonggang commented 6 years ago

还行

HyggeBo7 commented 6 years ago

注解使用起没得xml灵活

chenchongyu commented 6 years ago

能根据实体自动创建表吗?

hailong1398 commented 6 years ago

@zlf240114434 为什么我的就注入不进去呢?接口上也用了mapper,run as 的时候一直Field bm in com.zmqy.serivce.impl.SetTokenSerivceImpl required a bean of type 'com.zmqy.mapper.BindMapper' that could not be found.

Action:

Consider defining a bean of type 'com.zmqy.mapper.BindMapper' in your configuration.

@SpringBootApplication @MapperScan("com.neo.mapper") public class Application {..} 这个地方MapperScan要指定为你的MAPPER所在的路径,亲测解决了

Eliseyd commented 6 years ago

请问下,使用注解,也能通过generator自动生成实体类么?

YZJ2016 commented 6 years ago

大神,求教一个问题: 在微服务架构中,数据库的管理如何做比较合理? 是每个微服务都独立拥有数据源、数据库操作还是将数据库操作统一管理?

ityouknow commented 6 years ago

@YZJ2016 每个微服务将存在资金独立的数据库

tokerr commented 6 years ago

还是喜欢xml老风格

myron934 commented 6 years ago

请问, 多个数据源怎么处理?

1037475482 commented 6 years ago

问题:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.neo.mapper.UserMapper.insert 请问怎么处理

ghost commented 6 years ago

没跟博主一样。有个大坑啊,mybatis-config.xml文件不能与*mapper.xml文件放在同一目录,否则报错!