Spring-boot 与Mybatis集成, 附源码下载
前面几天尝试了Spring-boot的基础东西,今天继续用Spring-boot集成Mybatis. spring-boot 给开发人员的整体印象是精简了许多配置,开发搭框架更简单了,使用也更简单,让开发者更专注于业务。不像以前用Spring MVC, 还是需要配置很多东西,当然 spring-boot 也是微服务的基础组成部分。废话少说了,今天完成与mybatis 的集成, 我仍然当做web工程来做。所以在Maven的pom.xml文件中,就能看出端倪来.
1. POM.xml文件及依赖
4.0.0com.yihaomenspringboot-004-mybatisjar0.0.1-SNAPSHOTspringboot-004-mybatis Maven Webapphttp://maven.apache.orgUTF-81.8 org.springframework.bootspring-boot-starter-parent1.5.2.RELEASEmysqlmysql-connector-java5.1.21org.mybatis.spring.bootmybatis-spring-boot-starter1.1.1org.springframework.bootspring-boot-starter-webjavax.servletjavax.servlet-apiprovided javax.servletjstlorg.springframework.bootspring-boot-starter-tomcatprovidedorg.apache.tomcat.embedtomcat-embed-jasperprovidedjunitjunit3.8.1testspringboot-004-mybatis-xml
这里的重点就是引入mybatis 相关的jar, 注意查看pom.xml文件里的内容。
2. 数据库链接配置文件 application.properties
######################################################## ###datasource -- mysql db driver. ######################################################## spring.datasource.url = jdbc:mysql://localhost:3306/springboot spring.datasource.username = root spring.datasource.password = spring.datasource.driverClassName = com.mysql.jdbc.Driver spring.datasource.max-active=20 spring.datasource.max-idle=8 spring.datasource.min-idle=8 spring.datasource.initial-size=10
3. main方法及启动class
package com.yihaomen; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @MapperScan("com.yihaomen.*")//扫描:该包下相应的class,主要是MyBatis的持久化类. public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
这里要注意Mapperscan 这个注解,将会扫描配置的mybatis dao.
package com.yihaomen; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @MapperScan("com.yihaomen.*")//扫描:该包下相应的class,主要是MyBatis的持久化类. public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
至于其他地方service层,controller 层,我就不多说,与原来开发spring mvc差不了多少. 我也就不记载了。后面有源代码下载,所以可以直接看。
现在可以直接运行,在浏览器上输入:
1. http://localhost:8080/users/create 这是创建用户的rest 请求
2. http://localhost:8080/users 这是查看所有用户的rest请求.
*****补充,上面用的mybatis注解,另外还可以用xml配置方式*********
另外新建一个工程,这个工程用来测试用xml注解方式来实现mybatis, 因为mybatis只有用xml配置方式才能完成强大的功能。 单纯注解只能完成简单的东西。在上面工程的基础上修改得并不多,应该说很少吧,
1. 配置文件里增加 xml 文件路径
2. 在dao文件中去掉注解@Select 等相关的东西.
修改后的配置文件如下:
######################################################## ###datasource -- mysql db driver. ######################################################## spring.datasource.url = jdbc:mysql://localhost:3306/springboot spring.datasource.username = root spring.datasource.password = spring.datasource.driverClassName = com.mysql.jdbc.Driver spring.datasource.max-active=20 spring.datasource.max-idle=8 spring.datasource.min-idle=8 spring.datasource.initial-size=10 # mybatis configurations mybatis.typeAliasesPackage=com.yihaomen.model mybatis.mapperLocations=classpath*:**/mappers/*.xml
修改后的dao文件如下:
package com.yihaomen.dao; import java.util.List; import com.yihaomen.model.UserInfo; public interface UserInfoDao { public ListfindAllUsers(); public int addUserInfo(UserInfo userInfo); }
然后运行Application 里的main方法,运行结果一样。但这是用xml配置方式实现的。 实际上,你也可以两种方式结合起来用,看个人喜好了。
参考资料:1. http://blog.mybatis.org/p/products.html
2. http://www.mybatis.org/spring/
本文程序源码下载:
spring-boot-mybatis sample
spring-boot-mybatis-xml demo
From:一号门
Previous:很齐全的spring-cloud学习源码,来自github
COMMENTS