Spring-boot 与Mybatis集成, 附源码下载

摘要: 前面几天尝试了Spring-boot的基础东西,今天继续用Spring-boot集成Mybatis. spring-boot 给开发人员的整体印象是精简了许多配置,开发搭框架更简单了,使用也更简单,让开发者更专注于业务。不像以前用Spring MVC, 还是需要配置很多东西,当然 spring-boot 也是微服务的基础组成部分。废话少说了,今天完成与mybatis 的集成, 我仍然当做web工程来做。所以在Maven的pom.xml文件中,就能看出端倪来.

前面几天尝试了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

上一篇: 很齐全的spring-cloud学习源码,来自github
下一篇: spring-cloud eureka server 的发现客户端与注册例子
 评论 ( What Do You Think )
名称
邮箱
网址
评论
验证
   
 

 


  • 微信公众号

  • 我的微信

站点声明:

1、一号门博客CMS,由Python, MySQL, Nginx, Wsgi 强力驱动

2、部分文章或者资源来源于互联网, 有时候很难判断是否侵权, 若有侵权, 请联系邮箱:summer@yihaomen.com, 同时欢迎大家注册用户,主动发布无版权争议的 文章/资源.

3、鄂ICP备14001754号-3, 鄂公网安备 42280202422812号