springboot集成mybatis
1.pom.xml引入依赖
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.20</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.10</version>
</dependency>
2. application.properties 配置
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/tgw_mini_database?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
# mapper xml 文件地址
mybatis.mapper-locations=classpath*:mapper/*Mapper.xml
3. 新建entity的package包,在该目录下建一个User类
package com.example.tgw_mini_java.entity;
public class User {
private String userName;
private String password;
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;
}
}
4. 新建一个mapper的package包, 在该包下新建UserMapper接口(interface)
package com.example.tgw_mini_java.mapper;
import com.example.tgw_mini_java.entity.User;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface UserMapper {
List<User> findAllUsers();
}
5.在resource下新建一个mapper文件,在文件下新建一个UserMapper.xml, 注意这里的UserMapper.xml的文件名因该与UserMapper接口名字对应
com.example.tgw_mini_java.mapper.UserMapper, com.example.tgw_mini_java.entity.User使用idea的快捷键,选中文件右键copy path/Refernece->copy Refernece即可复制,或者配置之后简写即可
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTO Mapper 3.0 //EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.tgw_mini_java.mapper.UserMapper">
<select id="findAllUsers" resultType="com.example.tgw_mini_java.entity.User">
select * from sys_user;
</select>
</mapper>
6. 新建一个service的package包,在UserService接口
package com.example.tgw_mini_java.service;
import com.example.tgw_mini_java.entity.User;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface UserService {
List<User> findAllUser();
}
7.在service包下再建一个UserServiceImpl类,用于重写UserService的方法
package com.example.tgw_mini_java.service;
import com.example.tgw_mini_java.entity.User;
import com.example.tgw_mini_java.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public List<User> findAllUser() {
List<User> allUser = userMapper.findAllUsers();
return allUser;
}
}
controller 调用
package com.example.tgw_mini_java.controller;
import com.example.tgw_mini_java.entity.User;
import com.example.tgw_mini_java.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
public class UserController {
@Autowired
private UserService userService;
/*获取所用有用户*/
@RequestMapping(value="/pub/getUserList", method = RequestMethod.POST)
public String queryUserList() {
List<User> users = userService.findAllUser();
System.out.println("users"+users);
return "获取用户信息成功";
}
}