1.准备数据库环境

# 创建数据库
CREATE DATABASE IF NOT EXISTS zifeiydb DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
use zifeiydb;
# 创建一个名为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 (1, 'zifeiy', 'zifeiy home');
INSERT INTO tb_user VALUES (2, 'zifeiy2', 'zifeiy corp');
INSERT INTO tb_user VALUES (3, 'zifeiy3', 'zifeiy girlfriend home');

2.创建项目,添加依赖

创建一个依赖于Web模块的Spring Boot项目,在项目的pom.xml中添加如下依赖配置信息。

<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>
<version>8.0.11</version>
</dependency>

依赖下载地址:

  1. mybatis spring boot starter
  2. mysql kconnector java 我这里是8.0.11版本的,因为我电脑上面用的也是mysql 8版本。

在上面的配置代码中,mybatis-spring-boot-starter是Spring Boot中的Mybatis启动器配置,添加此依赖后,Spring Boot会将MyBatis所需的JAR包自动添加到项目中。

MySQL的驱动信息配置主要用于添加MySQL数据库驱动JAR包。

__注意:__期间遇到一个问题是项目的红叉,因为通过Spring Initializer生成的项目的pom.xml的开头是这样的:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

3.编写配置文件

在项目根目录下新建一个application.properties文件,并编写如下信息:

# DB Configuration
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/zifeiydb
spring.datasource.username=root
spring.datasource.password=password
# logging
logging.level.com.zifeiy.demo=debug

其中,DB中的username和password对应的是我的MySQL用户名和密码,zifeiydb是我MySQL中使用的数据库的名称,logging中的com.zifeiy.demo是我项目中的package名,使用时要做适当修改。

4.创建实体类

User.java:

package com.zifeiy.demo.po;

public class User {
private Integer id;
private String username;
private String address; public User(Integer id, String username, String address) {
super();
this.id = id;
this.username = username;
this.address = address;
} // getters and setters
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}

5编写Mapper

在项目的src/main/java中创建com.zifeiy.demo.mapper包,并在该包中创建接口文件UserMapper:

UserMapper.java:

package com.zifeiy.demo.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select; import com.zifeiy.demo.po.User; @Mapper
public interface UserMapper {
// 查询所有用户
@Select("select * from tb_user")
List<User> getAllUsers(); // 删除用户
@Delete("DELETE FROM tb_user WHERE id=#{id}")
void delete(Integer id);
}

在上述代码中,@Mapper是MyBatis框架用于声明Mapper接口的注解,@Select是用于映射查询SQL语句的注解,@Delete是用于映射删除SQL语句的注解。

6.编写Service

(1)编写接口。在项目的src/main/java中创建包com.zifeiy.demo.service,并在该包中茶ungjian接口文件UserService:

UserService.java:

package com.zifeiy.demo.service;

import java.util.List;

import com.zifeiy.demo.po.User;

public interface UserService {
// 查询所有
List<User> getAllUsers();
// 删除所有
void deleteUser(Integer id);
}

(2)编写实现类。在项目的src/main/java中创建包com.zifeiy.demo.service.impl,并在该包中创建UserService接口的实现类UserServiceImpl:

UserServiceImpl.java:

package com.zifeiy.demo.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import com.zifeiy.demo.mapper.UserMapper;
import com.zifeiy.demo.po.User;
import com.zifeiy.demo.service.UserService; @Service
@Transactional
public class UserServiceImpl implements UserService {
// 注入用户Mapper
@Autowired
private UserMapper UserMapper; // 查询所有用户
@Override
public List<User> getAllUsers() {
return this.UserMapper.getAllUsers();
} // 删除用户
@Override
public void deleteUser(Integer id) {
System.out.println("删除了id为 " + id + " 的用户");
this.UserMapper.delete(id);
} }

7.编写Controller

在项目的src/main/java中创建包com.zifeiy.demo.controller,并在该包中创建用户控制器类UserCOntroller:

UserController.java:

package com.zifeiy.demo.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import com.zifeiy.demo.po.User;
import com.zifeiy.demo.service.UserService; @RestController
@RequestMapping("/user")
public class UserController {
// 注入用户Service
@Autowired
private UserService userService; // 查询所有用户
@RequestMapping("/userList")
public List<User> getAllUsers() {
List<User> list = this.userService.getAllUsers();
return list;
} // 删除用户
@RequestMapping("/delete/{id}")
public void delete(@PathVariable Integer id) {
this.userService.deleteUser(id);
} }

8.实现前端框架

将Easy UI框架的资源文件拷贝到src/main/resources下的static文件夹中,,并在static文件夹中创建页面文件user.html:

user.html:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>用户信息 zifeiy</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>

Jquery EasyUI下载地址:http://www.jeasyui.com/download/index.php

9.启动项目

启动Spring Boot项目,在浏览器地址栏中输入访问地址:http://localhost:8080/user.html后,浏览器现实效果如图:

启动方法:运行@SpringBootApplication注解对应的类就可以了。

Spring Boot学习笔记——Spring Boot与MyBatis的集成(项目示例)的更多相关文章

  1. Spring Cloud学习笔记--Spring Boot初次搭建

    1. Spring Boot简介 初次接触Spring的时候,我感觉这是一个很难接触的框架,因为其庞杂的配置文件,我最不喜欢的就是xml文件,这种文件的可读性很不好.所以很久以来我的Spring学习都 ...

  2. Spring Boot学习笔记---Spring Boot 基础及使用idea搭建项目

    最近一段时间一直在学习Spring Boot,刚进的一家公司也正好有用到这个技术.虽然一直在学习,但是还没有好好的总结,今天周末先简单总结一下基础知识,等有时间再慢慢学习总结吧. Spring Boo ...

  3. Spring Boot学习笔记——Spring Boot与ActiveMQ的集成

    Spring Boot对JMS(Java Message Service,Java消息服务)也提供了自动配置的支持,其主要支持的JMS实现有ActiveMQ.Artemis等.这里以ActiveMQ为 ...

  4. Spring Boot学习笔记(二二) - 与Mybatis集成

    Mybatis集成 Spring Boot中的JPA部分默认是使用的hibernate,而如果想使用Mybatis的话就需要自己做一些配置.使用方式有两种,第一种是Mybatis官方提供的 mybat ...

  5. [Spring入门学习笔记][Spring Boot]

    什么是Spring Boot Spring Boot正是在这样的一个背景下被抽象出来的开发框架,它本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速.敏捷地开发新一代基于Spring框架 ...

  6. Spring Boot学习笔记——Spring Boot与Redis的集成

    一.添加Redis缓存 1.添加Redis起步依赖 在pom.xml中添加Spring Boot支持Redis的依赖配置,具体如下: <dependency> <groupId> ...

  7. [spring入门学习笔记][spring的IoC原理]

    什么叫IoC 控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度.其中最常见的方式叫做依赖注入(Dependency ...

  8. [Spring入门学习笔记][Spring的AOP原理]

    AOP是什么? 面向切面编程 软件工程有一个基本原则叫做“关注点分离”(Concern Separation),通俗的理解就是不同的问题交给不同的部分去解决,每部分专注于解决自己的问题.这年头互联网也 ...

  9. Spring MVC 学习笔记 spring mvc Schema-based configuration

    Spring mvc 目前支持5个tag,分别是 mvc:annotation-driven,mvc:interceptors,mvc:view-controller, mvc:resources和m ...

随机推荐

  1. POJ1185 炮兵阵地 和 POJ2411 Mondriaan's Dream

    炮兵阵地 Language:Default 炮兵阵地 Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 34008 Accepted ...

  2. 理解*arg 、**kwargs

    这两个是python中的可变参数.*args表示任何多个无名参数,它是一个tuple(元祖):**kwargs表示关键字参数,它是一个dict(字典).并且同时使用*args和**kwargs时,必须 ...

  3. 洛谷P2661 信息传递【并查集】

    题目:https://www.luogu.org/problemnew/show/P2661 题意: 有一个有向图,问最小环的的大小. 思路: 明明是图的遍历,但是bfs会T.第二组下下来的数据n居然 ...

  4. 使用JSP/Servalet技术开发新闻发布系统------动态网页开发基础

    什么是动态网页? 动态网页是指在服务器端运行的程序或者网页,它们会随不同客户.不同时间,返回不同的网页. 动态网页的特点? (1).交互性:即网页会根据用户的要求和选择而动态改变和响应.采用动态网页技 ...

  5. JQuery制作网页——表单验证

      1.  表单验证:减轻服务器的压力.保证输入的数据符合要求: 2.  常用的表单验证:日期格式.表单元素是否为空.用户名和密码.E-mail地址.身份证号码等: 3.  表单验证的思路: 1.   ...

  6. 理解git 中的HEAD指针&branch指针

    理解git 中的HEAD指针&branch指针 Yooye关注 2019.02.28 10:44:32字数 492阅读 668 HEAD指针 使用git checkout 来移动HEAD指针, ...

  7. MongoDB 集合与文档操作

    一.创建DB 1.查看DB >show dbs 2.创建DB >use mydb 3.查看当前DB >db 4.删除DB >use mydb >db.dropDataba ...

  8. springboot项目上传文件大小限制问题

    1.报错信息: Error parsing HTTP request header Note: further occurrences of HTTP header parsing errors wi ...

  9. 数据库学习之七--视图(View)

    一.定义 视图:指计算机数据库中的一个临时虚拟表,其内容由查询定义:同真实的表一样,视图包含一系列带有名称的列和行数据.但是,视图并不在数据库中以存储的数据值集形式存在. 二.优点 1. 优点: a. ...

  10. dp * 3

    cf 467 C 从序列中选出 \(k\) 段连续的 \(m\) 个数 最大化总和 \(f_{i, j}\) 表示前 \(i\) 个位置中选出了 \(j\) 段 转移显然 #include <b ...