1.前提:springboot项目已经搭建完毕
2.若使用STS IDE或官方的starter构建项目,则只需选中mybatis模块即可,若自搭项目,则添加maven依赖
org.mybatis.spring.boot mybatis-spring-boot-starter 2.0.0-SNAPSHOT
3.集成方式
1)注解方式
①application.properties
# DB spring.datasource.url = jdbc:mysql://localhost/homehelpers spring.datasource.username = emil spring.datasource.password = 123456 # MyBatis
mybatis.type-aliases-package=com.do1shoje.homehelpers.modeules.*.domain
这些是基本配置,其他可选配置(罗列了一部分):
mybatis.type-handlers-package=com.example.typehandler mybatis.configuration.map-underscore-to-camel-case=true mybatis.configuration.default-fetch-size=100 mybatis.configuration.default-statement-timeout=30
②dao
@Mapper public interface UserDao { @Select("select * from hh_user where id = #{id}") public List③servicequeryByIdForList(int id); }
@Component public interface UserService { public ListqueryByIdForList(int id); }
@Service public class UserServiceImpl implements UserService{ @Autowired private UserDao userDao; @Override public ListqueryByIdForList(int id) { return userDao.queryByIdForList(id); } }
⑤controller
@RestController public class UserController { @Autowired private UserService userService; @RequestMapping("/api/user/{id}") public List queryUserById(@PathVariable int id) { return userService.queryByIdForList(id); } }
总结
该种方式免除了繁杂配置文件的操作,以注解的方式代替配置(SQL语句构建器、sqlProvider、annotation结合),在一定程度上简化了开发流程,提高了开发效率,但此种方式并不能完全实现免配置方式,比如用到resultMap时,还是需要同时结合@ResultMap注解和mapper.xml文件来实现。(key words:mybatis-spring-boot动态SQL实现)
2)XML方式
mybatis-spring-boot-starter模块源码:https://github.com/mybatis/spring-boot-starter
mybatis-spring-boot-starter模块文档:http://www.mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/index.html