Spring Boot与MyBatis的集成
2024-10-21 18:44:17
SSM(Spring+Spring MVC+MyBatis)是当前主流的框架组合开发方式之一,普遍被应用于互联网项目中。如果要使用Spring Boot开发一个基于SSM框架的应用,那么我们要怎么做呢?下面以一个用户查询案例为例,来讲解如何在Spring Boot中使用MyBatis。
SQL语句:
# 创建一个名称为tb_user的表
CREATE TABLE tb_user ( id int(32) PRIMARY KEY AUTO_INCREMENT, username varchar(32), address varchar(256) );
# 插入3条数据
INSERT INTO tb_user VALUES ('', '小韩', '北京市海淀区');
INSERT INTO tb_user VALUES ('', '小石', '北京市昌平区');
INSERT INTO tb_user VALUES ('', '小陈', '北京市顺义区');
添加pom.xml依赖:
<!-- MyBatis启动器 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency><!-- MySQL驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
文件3-1 application.properties
#DB Configuration
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3307/microservice
spring.datasource.username=root
spring.datasource.password=123456
#logging
logging.level.com.xc.springboot=debug
文件3-2 User.java
package com.xc.springboot.po; public class User { private Integer id;
private String username;
private String address;
//get set...
}
文件3-3 UserMapper.java
package com.xc.springboot.mapper; @Mapper
@Repository
public interface UserMapper { // 查询所有用户
@Select("select * from tb_user")
List<User> getAllUsers(); // 删除用户
@Delete("DELETE FROM tb_user WHERE id =#{id}")
void delete(Integer id); }
文件3-4 UserService.java
package com.xc.springboot.service; public interface UserService { // 查询所有
List<User> getAllUsers(); // 删除数据
void deleteUser(Integer id);
}
文件3-5 UserServiceImpl.java
package com.xc.springboot.service.impl; @Transactional
@Service
public class UserServiceImpl implements UserService { //注入用户Mapper
@Autowired
private UserMapper userMapper; @Override
public List<User> getAllUsers() {
return userMapper.getAllUsers();
} @Override
public void deleteUser(Integer id) {
System.out.println("id:" + id);
userMapper.delete(id);
} }
文件3-6 UserController.java
package com.xc.springboot.controller; @RestController
@RequestMapping("/user")
public class UserController { @Autowired
private UserService userService; // 查询所有用户
@RequestMapping("/userList")
public List<User> getAllUsers() {
return userService.getAllUsers();
} // 删除用户
@RequestMapping("/delete/{id}")
public void delete(@PathVariable Integer id) {
userService.deleteUser(id);
} }
文件3-7 user.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>用户信息</title>
<link rel="stylesheet" type="text/css" href="ui/themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="ui/themes/icon.css">
<script type="text/javascript" src="ui/jquery.min.js"></script>
<script type="text/javascript" src="ui/jquery.easyui.min.js"></script>
<script type="text/javascript" src="ui/locale/easyui-lang-zh_CN.js"></script>
<script type="text/javascript"> $(function () {
$('#grid').datagrid({
url: 'user/userList',
fit: true,
columns: [[
{field: 'id', title: '编号', width: 50},
{field: 'username', title: '姓名', width: 200},
{field: 'address', title: '地址', width: 200},
{field: 'del', title: '删除', width: 100}]]
});
}); </script>
</head> <body>
<table id="grid"></table>
</body> </html>
最新文章
- java单向加密算法小结(1)--Base64算法
- R语言实现 广义加性模型 Generalized Additive Models(GAM) 入门
- Python之路,day11-Python基础
- ios学习总结(2) -- UIButton的使用
- segger 烧写superboot
- javaSE第二十五天
- 方法:查询MongoDB数据库中最新一条数据(JAVA)
- pstree命令
- 仿照微信的界面,即ViewPager+Fragment的结合使用
- 8.Java 加解密技术系列之 PBE
- flask jQuery ajax 上传文件
- for循环,数字类型,字符串类型
- rc.local(ubuntu18.04)
- 错误/异常:java.io.FileNotFoundException: .\src\db.properties (系统找不到指定的路径。);的解决方法
- Struts2,Spring,Hibernate框架的优缺点
- TCP滑动窗口协议
- Axiom3D:Ogre地形组件代码解析
- CentOS/Linux 网卡设置 IP地址配置
- 安装完SqlServer2008,wamp服务器无法启动的问题
- SpringMVC使用Hibernate-validator验证出现的错误