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>

最新文章

  1. java单向加密算法小结(1)--Base64算法
  2. R语言实现 广义加性模型 Generalized Additive Models(GAM) 入门
  3. Python之路,day11-Python基础
  4. ios学习总结(2) -- UIButton的使用
  5. segger 烧写superboot
  6. javaSE第二十五天
  7. 方法:查询MongoDB数据库中最新一条数据(JAVA)
  8. pstree命令
  9. 仿照微信的界面,即ViewPager+Fragment的结合使用
  10. 8.Java 加解密技术系列之 PBE
  11. flask jQuery ajax 上传文件
  12. for循环,数字类型,字符串类型
  13. rc.local(ubuntu18.04)
  14. 错误/异常:java.io.FileNotFoundException: .\src\db.properties (系统找不到指定的路径。);的解决方法
  15. Struts2,Spring,Hibernate框架的优缺点
  16. TCP滑动窗口协议
  17. Axiom3D:Ogre地形组件代码解析
  18. CentOS/Linux 网卡设置 IP地址配置
  19. 安装完SqlServer2008,wamp服务器无法启动的问题
  20. SpringMVC使用Hibernate-validator验证出现的错误

热门文章

  1. 软件测试过程中如何区分什么是功能bug,什么是需求bug,什么是设计bug?
  2. Enterprise Architect 14破解版 安装包 安装教程
  3. Vue 项目目录结构分析
  4. C++类分号(;)问题
  5. python - Django 跨域配置
  6. COGS 2687 讨厌整除的小明
  7. Matlab中矩阵的数据结构
  8. 64位内核开发第十讲,IRQL中断级别了解
  9. python中创建字典的多种方法
  10. windows下使用xortools