您的位置:首页 > 编程语言 > Java开发

Spring Boot整合MyBatis

2017-11-06 14:55 281 查看
参考 http://www.cnblogs.com/powercto/p/6717874.html 博客。

这里使用xml配置的sql而不是java代码来实现SQL查询。还是传统的Mapper但是和原来SpringMVC区别的是不用再手动创建dataSource,sqlSession等一系列繁琐的工具类。

项目结构如下图:



1、pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion>
<groupId>com</groupId>
<artifactId>test</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>test Maven Webapp</name>
<url>http://maven.apache.org</url>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.0.RELEASE</version>
<relativePath/>
</parent>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
</properties>

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.2.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.39</version>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

</project>


2、 application.properties(如果用sts生成的SpringBoot项目自带,如果是Eclipse手动创建的SpringBoot项目需自己手动创建该文件)

spring.application.name=compute-service
server.port=8085
server.tomcat.uri-encoding=GBK
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/crm_customermanagement?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull
spring.datasource.username=test
spring.datasource.password=test
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
mybatis.typeAliasesPackage=test.entity
mybatis.mapperLocations=classpath:mapper/*.xml


(更多详细配置可百度搜索更具体信息参考)

·mybatis.typeAliasesPackage:为实体对象所在的包,跟数据库表一一对应

·mybatis.mapperLocations:mapper文件的位置

3、UserInfoMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="test.dao.UserInfoDao">
<resultMap type="test.entity.UserInfo" id="userInfo">
<result column="status" property="status" />
<result column="expirationTime" property="expirationTime" />
<result column="sms_num" property="smsNum" />
<result column="shopName" property="shopName" />
</resultMap>
<!-- 查询用户的余额和过期时间 -->
<select id="findExpireTimeAndSms" parameterType="java.lang.String" resultMap="userInfo">
SELECT shopName,expirationTime,sms_num,status
FROM crm_user
WHERE taobao_user_nick = #{sellerName}
</select>
</mapper>


4、UserInfoDao.java

import test.entity.UserInfo;

/**
* @author ??
* @version 创建时间:2017年11月6日 下午2:12:59
*/
public interface UserInfoDao {
public UserInfo findExpireTimeAndSms(String sellerName);
}


5、UserInfo.java

package test.entity;
/**
* @author ??
* @version 创建时间:2017年11月6日 上午11:33:06
*/
public class UserInfo {
private String status;

private String taoBaoNick;

private String shopName;

private Long smsNum;

private Long expirationTime;

public String getStatus() {
return status;
}

public void setStatus(String status) {
this.status = status;
}

public String getTaoBaoNick() {
return taoBaoNick;
}

public void setTaoBaoNick(String taoBaoNick) {
this.taoBaoNick = taoBaoNick;
}

public String getShopName() {
return shopName;
}

public void setShopName(String shopName) {
this.shopName = shopName;
}

public Long getSmsNum() {
return smsNum;
}

public void setSmsNum(Long smsNum) {
this.smsNum = smsNum;
}

public Long getExpirationTime() {
return expirationTime;
}

public void setExpirationTime(Long expirationTime) {
this.expirationTime = expirationTime;
}

}


6、UserInfoController.java

package test.web;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import test.dao.UserInfoDao;

/**
* @author ??
* @version 创建时间:2017年11月6日 下午2:16:38
*/
@RestController
public class UserInfoController {
@Autowired
private UserInfoDao userInfoDao;
@RequestMapping("/user")
public String test(){
System.out.println(this.userInfoDao.findExpireTimeAndSms("测试账号").getShopName());
return "aaa";
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  springboot mybatis