一、创建一个Springboot项目
快速创建一个Springboot项目
项目结构图
数据库User表
CREATE TABLE `user` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(20) NOT NULL,
`password` varchar(20) NOT NULL,
`role` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8
二、导入相关依赖mybatis,lombok,mysql
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
三、在resources目录下新建application.yml文件
数据库的配置,mybatis的配置,日志打印
spring:
datasource:
url: jdbc:mysql://localhost:3306/company?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false
username: root
password: 1041370063
driver-class-name: com.mysql.cj.jdbc.Driver
logging:
level:
com:
wantl:
mybatis:
mapper: debug
四、建基础的包,mapper,service,entity,controller
五、在entity包下新建实体类User.java
@NoArgsConstructor
@Getter
@Setter
@AllArgsConstructor
@ToString
public class User {
private Integer id;
private String username;
private String password;
private String role;
}
六、在mapper文件夹下,新建UserMapper.java接口,以及写上增删改查方法
@Repository
public interface UserMapper {
@Select("select * from user")
public List<User> findAllUsers();
@Select("select * from user where username=#{name}")
public User findUserByName(String name);
@Update({"update user set username=#{username},password=#{password},role=#{role} where id=#{id}"})
public void updateUser(User user);
@Delete("delete from user where id=#{id}")
public void deleteUser(Integer id);
@Insert("insert into user (username,pssword,role) values (#{username},#{password},#{role})")
public void saveUser(User user);
}
七、在启动类上增加注解@MapperScan("com.wantl.mybatis.mapper")
,扫描mapper
@SpringBootApplication
@MapperScan("com.wantl.mybatis.mapper")
public class MybatisApplication {
public static void main(String[] args) {
SpringApplication.run(MybatisApplication.class, args);
}
}
九、编写service层
public interface UserService {
public List<User> findAll();
public User findByName(String name);
}
@Service
public class UserServiceImpl implements UserService {
@Autowired
UserMapper userMapper;
@Override
public List<User> findAll() {
return userMapper.findAllUsers();
}
@Override
public User findByName(String name) {
return userMapper.findUserByName(name);
}
}
十、编写controller层
@RestController
public class UserController {
@Autowired
UserService userService;
@GetMapping("/findAll")
public List<User> findAll(){
return userService.findAll();
}
@GetMapping("/getUser/{username}")
public User getUser(@PathVariable String username){
return userService.findByName(username);
}
}
启动项目,访问http://localhost:8080/findAll即可获取json数据