springboot+Mybatis快速集成
点关注不迷路,欢迎再来!
精简博客内容,尽量已专业术语来分享。
努力做到对每一位认可自己的读者负责。
帮助别人的同时更是丰富自己的良机。
一.先创建一个Eureka-Server服务注册中心
回顾上节知识:springboot集成Eureka注册中心(四)
二.创建EurekaMybatis服务
1.pom.xml配置
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<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>2.1.0</version>
</dependency>
2.配置application.yml文件
eureka:
client:
serviceUrl: #注册中心的注册地址
defaultZone: http://127.0.0.1:8081/eureka/
server:
port: 8085 #服务端口号
spring:
application:
name: service-mybatis #服务名称--调用的时候根据名称来调用该服务的方法
datasource:
username: root
password: 123456
url: jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
driver-class-name: com.mysql.jdbc.Driver
mybatis:
mapper-locations: classpath:mapping/*Mapping.xml
type-aliases-package: com.sun.eureka.pojo
3.配置启动类
@MapperScan("com.sun.eureka.mapper")
@EnableEurekaClient
@SpringBootApplication
public class EurekaMybatisApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaMybatisApplication.class, args);
}
}
4.定义控制器UserController.java
/**
*
* @author ex_sunqi
*
*/
@RestController
@RequestMapping(value="/User")
public class UserController {
@Autowired
private IUserService userService;
@RequestMapping(value="/getUser/{id}" , method=RequestMethod.GET)
public String getUserById(@PathVariable int id) {
return userService.getUserId(id).toString();
}
}
5.定义接口及实现
/**
*
* @author ex_sunqi
*
*/
public interface IUserService {
public void addUser(User user);
public Users getUserId(int id);
}
@Service("userService")
public class UserImpl implements IUserService{
@Autowired
private UserMapper userMapper;
@Override
public void addUser(User user) {
// TODO Auto-generated method stub
}
@Override
public User getUserId(int id) {
return userMapper.getUserId(id);
}
}
6.定义Mapper及User对象
/**
*
* @author ex_sunqi
*
*/
public class User implements Serializable{
private static final long serialVersionUID = 4252672653445403625L;
private Integer id;
private String userName;
private String passWord;
private String realName;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassWord() {
return passWord;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
public String getRealName() {
return realName;
}
public void setRealName(String realName) {
this.realName = realName;
}
@Override
public String toString() {
return "User [id=" + id + ", userName=" + userName + ", passWord=" + passWord + ", realName=" + realName + "]";
}
}
/**
*
* @author ex_sunqi
*
*/
@Repository("userMapper")
public interface UserMapper {
public User getUserId(int id);
}
7.定义UserMapping.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="com.sun.eureka.mapper.UserMapper">
<resultMap id="BaseResultMap" type="com.sun.eureka.pojo.User">
<result column="id" jdbcType="INTEGER" property="id" />
<result column="userName" jdbcType="VARCHAR" property="userName" />
<result column="passWord" jdbcType="VARCHAR" property="passWord" />
<result column="realName" jdbcType="VARCHAR" property="realName" />
</resultMap>
<select id="getUserId" resultType="com.sun.eureka.pojo.User">
select * from user where id = #{id}
</select>
</mapper>
8.查看项目结构
user表数据
CREATE TABLE `user` (
`id` int(32) NOT NULL AUTO_INCREMENT,
`userName` varchar(32) NOT NULL,
`passWord` varchar(50) NOT NULL,
`realName` varchar(32) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
9.访问http://127.0.0.1:8085/User/getUser/1