1.整体结构
2.controller
@RestController //等效于 @Controller加上 @ResponseBody
@RequestMapping("/user")
public class HelloController {
@Resource
private UserService userService;
@RequestMapping("find")
public List<User> findAll(){
return userService.findAll();
}
}
3.domain
package com.example.demo2.domain;
public class User {
private String id;
private String name;
private String password;
private String address;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", password='" + password + '\'' +
", address='" + address + '\'' +
'}';
}
}
4.mapper
@Mapper
@Repository
public interface UserMapper {
public List<User> findAll();
}
5.service
public interface UserService {
public List<User> findAll();
}
serviceImpl
@Service("userService")
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userDao;
@Override
public List<User> findAll() {
return userDao.findAll();
}
}
6.SpringBootApplication
@MapperScan("com.example.demo2.mapper")
@SpringBootApplication
public class Demo2Application {
public static void main(String[] args) {
SpringApplication.run(Demo2Application.class, args);
}
}
7.resources下创建mapper文件 --UserMapper.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.example.demo2.mapper.UserMapper" >
<resultMap id="BaseResultMap" type="com.example.demo2.domain.User" >
<id column="id" property="id" jdbcType="VARCHAR" />
<result column="name" property="name" jdbcType="VARCHAR" />
<result column="password" property="password" jdbcType="VARCHAR" />
<result column="address" property="address" jdbcType="VARCHAR" />
</resultMap>
<select id="findAll" resultType="com.example.demo2.domain.User" >
select * from user
</select>
</mapper>
8.application.yml
spring:
datasource:
url: jdbc:mysql://localhost:3306/testyxt?useUnicode=true&characterEncoding=UTF-8&useSSL=false
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
mybatis:
mapper-locations: classpath:mapper/*Mapper.xml
pom文件
<dependencies>
<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.2.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
springboot+热部署配置 完事
sql语句的另一种写法
@Mapper
@Repository
public interface UserMapper {
@Select("select * from user")
public List<User> findAll();
}