新建 SpringBoot 项目 springboot_mybatis
添加 Mybatis 的起步依赖
1 2 3 4 5 6 7 8 9 10 11
| <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency>
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
|
添加数据库连接信息
在 application.yml
中添加数据量的连接信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| mybatis: type-aliases-package: com.atguigu.domain mapper-locations: classpath:com/atguigu/dao/*.xml logging: level: com.atguigu.dao: debug spring: datasource: username: root password: root url: jdbc:mysql://192.168.88.88:3306/springboot?useUnicode=true&characterEncoding=utf8 driver-class-name: com.mysql.cj.jdbc.Driver server: port: 1888
|
创建 user 表
创建名叫springboot
数据库,
数据库中新建user
表
1 2 3 4 5 6 7 8 9 10 11 12
| DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(50) DEFAULT NULL, `password` varchar(50) DEFAULT NULL, `name` varchar(50) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
INSERT INTO `user` VALUES ('1', 'zhangsan', '123', '张三'); INSERT INTO `user` VALUES ('2', 'lisi', '123', '李四');
|
创建实体 Bean
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| package com.atguigu.domain;
import java.io.Serializable;
public class User implements Serializable { private Long id; private String username; private String password; private String name;
}
|
创建 Controller
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| package com.atguigu.controller;
import com.atguigu.domain.User; import com.atguigu.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController @RequestMapping("/user") public class UserController {
@Autowired private UserService userService;
@RequestMapping("/findAll") private List<User> findAll() { return userService.findAll(); }
}
|
创建 Service
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| package com.atguigu.service;
import com.atguigu.domain.User;
import java.util.List;
public interface UserService { List<User> findAll(); }
|
创建实现类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| package com.atguigu.service;
import com.atguigu.dao.UserDao; import com.atguigu.domain.User; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service;
import java.util.List;
@Service public class UserServiceImpl implements UserService {
@Autowired private UserDao userDao;
@Override public List<User> findAll() { return userDao.findAll(); } }
|
创建 Dao
1 2 3 4 5 6 7 8 9 10 11 12
| package com.atguigu.dao;
import com.atguigu.domain.User; import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper public interface UserDao { List<User> findAll(); }
|
编写 Mapper
注意,Mapper 要放到resources
下与 UserDao 对应的目录!
比如resources\com\atguigu\dao\UserDao.xml
与java\com\atguigu\dao\UserDao.java
对应
1 2 3 4 5 6 7 8
| <?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.atguigu.dao.UserDao"> <select id="findAll" resultType="user"> select * from user </select> </mapper>
|
测试
运行 main 主程序,浏览器访问:http://localhost:1888/user/findAll