org.springframework.boot
spring-boot-starter-parent
2.2.5.RELEASE
org.springframework.boot
spring-boot-starter-web
org.projectlombok
lombok
1.18.8
provided
org.mybatis.spring.boot
mybatis-spring-boot-starter
2.1.2
com.alibaba
druid
1.1.12
mysql
mysql-connector-java
5.1.38
springboot集成mybatis
maven-clean-plugin
3.1.0
maven-resources-plugin
3.0.2
maven-compiler-plugin
3.8.0
maven-surefire-plugin
2.22.1
maven-war-plugin
3.2.2
maven-install-plugin
2.5.2
maven-deploy-plugin
2.8.2
2.配置文件
=========================================================================
修改配置文件 application.properties;
server.servlet.context-path=/sm
数据库配置文件:
#指定连接池类型
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
#指定驱动
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#指定url
spring.datasource.url=jdbc:mysql://localhost:3306/sm
#指定用户名
spring.datasource.username=root
#指定密码
spring.datasource.password=1234
加入mybatis配置
mybatis 的配置:
#指定mapper配置文件位置
mybatis.mapper-locations=classpath:/com/yusael/mapper/*.xml
#指定起别名来的类
mybatis.type-aliases-package=com.yusael.entity
在入口类 Application 中添加 @MapperScan
@SpringBootApplication
@MapperScan(“com.yusael.dao”)
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
完整的配置文件
server.servlet.context-path=/sm
#指定连接池类型
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
#指定驱动
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#指定url
spring.datasource.url=jdbc:mysql://localhost:3306/sm
#指定用户名
spring.datasource.username=root
#指定密码
spring.datasource.password=1234
#指定mapper配置文件位置
mybatis.mapper-locations=classpath:/com/yusael/mapper/*.xml
#指定起别名来的类
mybatis.type-aliases-package=com.yusael.entity
3. 数据库建表
============================================================================
在 sm 数据库下建立 t_user 表:
CREATE TABLE t_user (
id varchar(100) NOT NULL,
name varchar(100) DEFAULT NULL,
age int(11) DEFAULT NULL,
bir datetime DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
4. 开发实体类
============================================================================
在 java.com.yusael.entity 包下创建 User 类;
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class User {
private String id;
private String name;
private Integer age;
private Date bir;
}
5. 开发DAO接口以及Mapper
======================================================================================
在 java.com.yusael.dao 包下创建 UserDAO 类;
在 resources.com.yusael.mapper 下创建 UserDAOMapper
public interface UserDAO {
void save(User user);
List findAll();
}
insert into t_user values (#{id}, #{name}, #{age}, #{bir})
select id,name,age
《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》
【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享
,bir from t_user
6. 开发Service以及实现
====================================================================================
在 java.com.yusael.service 包下创建 UserService 类、UserServiceImpl 类;
// 接口
public interface UserService {
void save(User user);
List findAll();
}
// 实现
@Service
@Transactional
public class UserServiceImpl implements UserService {
@Autowired
private UserDAO userDAO;
@Override
public void save(User user) {
user.setId(UUID.randomUUID().toString());
userDAO.save(user);
}
@Override
public List findAll() {
return userDAO.findAll();
}
}
7. 编写控制器进行测试
================================================================================
在 com.yusael.controller 包下创建 UserController 类;
@RestController
@RequestMapping(“user”)
public class UserController {
@Autowired
private UserService userService;
@GetMapping(“findAll”)
public List findAll() {
return userService.findAll();
}
@GetMapping(“save”)
public void save(User user) {
userService.save(user);
}
}
完整的项目结构
开始测试
运行项目;
浏览器输入 localhost:8080/sm/user/save?name=zhangsan&age=25&bir=2012/12/12 来保存一条记录。
回车,页面看不到什么效果;
浏览器再次输入 http://localhost:8080/sm/user/findAll 来查询所有记录;
可以成功的查询出刚刚添加的记录:
[
{
“id”: “fb91da88-8a54-4f1b-83e7-09d2217ae2cb”,
“name”: “zhangsan”,
“age”: 25,
“bir”: “2012-12-11T16:00:00.000+0000”
}
]
尝试多保存几条数据:
localhost:8080/sm/user/save?name=lisi&age=21&bir=2011/11/11
localhost:8080/sm/user/save?name=wangwu&age=18&bir=2014/12/11
localhost:8080/sm/user/save?name=zhaoliu&age=19&bir=2011/6/11



