接着上篇文章中 继续前进。

一、在maven 的pom.xm中添加组件依赖, mybatis通用Mapper,及分页插件

1、mybatis通用Mapper
<!-- mybatis通用Mapper-->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.0.3</version>
</dependency>
2、mybatis分页插件
<!-- 依赖地址:https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper-spring-boot-starter -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.7</version>
</dependency>

二、创建表:user:

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0; DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '系统ID',
`name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户名',
`age` int(4) NULL DEFAULT NULL COMMENT '年龄',
`gender` varchar(4) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '性别 1 男 ,2女',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; INSERT INTO `user` VALUES ('1', '路飞', 16, '1');
INSERT INTO `user` VALUES ('2', '罗罗诺亚索隆', 18, '1');
INSERT INTO `user` VALUES ('3', '娜美', 17, '2'); SET FOREIGN_KEY_CHECKS = 1;

三、再项目中创建 包结构,实体类,service, mapper, 等。

1、包结构及 用到的接口和类 如下:

2、各个需要改动的地方及 具体代码:

(1) application.yml 配置文件

#spring
spring:
#mysql 数据源
datasource:
url: jdbc:mysql://127.0.0.1:3306/fish?zeroDateTimeBehavior=convertToNull&characterEncoding=utf8&characterSetResults=utf8&useSSL=false
username: root
password: etoak
driver-class-name: com.mysql.jdbc.Driver #mybatis
mybatis:
mapperLocations: classpath:mapper/*.xml
type-aliases-package: com.fish.winter.model
configuration:
map-underscore-to-camel-case: true #Mybatis通用Mapper
mapper:
mappers: com.fish.winter.base.BaseMapper
not-empty: false
identity: MYSQL
before: true #Mybatis分页插件pagehelper
pagehelper:
helperDialect: mysql
reasonable: false
supportMethodsArguments: true
params: count=countSql

(2)项目启动类  WinterApplication

package com.fish.winter;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import tk.mybatis.spring.annotation.MapperScan; @SpringBootApplication
@MapperScan(basePackages = "com.fish.winter.mapper") // 注意这里导入的 MapperScan 的包是:tk.mybatis.spring.annotation.MapperScan
public class WinterApplication { public static void main(String[] args) {
SpringApplication.run(WinterApplication.class, args);
}
}

(3)创建 通用Mapper 的通用 持久层接口:BaseMapper, 以便所有实体类的mapper  继承此接口,用来调用 通用Mapper 的各种方法。

package com.fish.winter.base;

import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper; /**
* @author 路飞
* @date 2018-9-19
* @description 持久化层的父类
*/
public interface BaseMapper<T> extends Mapper<T>, MySqlMapper<T> { }

(4)创建实体类 User, 类中用到了 lombok 的 @Data 和 @Builder  注解

package com.fish.winter.model;
import lombok.Builder;
import lombok.Data;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table; @Data
@Builder
@Table(name = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY, generator = "select uuid()")
private String id;
private String name;
private Integer age;
private String gender; }

(5)在 controller 中添加 访问接口

package com.fish.winter.controller;

import com.fish.winter.model.User;
import com.fish.winter.service.UserService;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource;
import java.util.List; @RestController
@RequestMapping("/test")
public class TestController { @RequestMapping("/hello")
public String test() {
return "你好spriongBoot";
} @Resource
private UserService userService; @RequestMapping("/user")
private List<User> queryByExample() {
return userService.list();
}
}

(6)创建service ,及实现类

package com.fish.winter.service;

import com.fish.winter.model.User;
import java.util.List; public interface UserService {
// 获取user 信息
List<User> list();
}
package com.fish.winter.serviceImpl;

import com.fish.winter.mapper.UserMapper;
import com.fish.winter.model.User;
import com.fish.winter.service.UserService;
import org.springframework.stereotype.Service;
import tk.mybatis.mapper.entity.Example;
import javax.annotation.Resource;
import java.util.List; @Service("userService")
public class UserServiceImpl implements UserService { @Resource
private UserMapper userMapper; @Override
public List<User> list() {
Example example = new Example(User.class);
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("name", "路飞");
List<User> userList = userMapper.selectByExample(example);
return userList;
} }

(6)在浏览器中访问:http://127.0.0.1:8080/test/user ,结果如下。

项目源码地址:https://gitee.com/coderLOL/winter

==================================================================

有兴趣的朋可以自己研究下 Mybatis通用Mapper 的使用方法 ,下面是 文档地址:

https://gitee.com/free/Mapper/wikis/Home

https://github.com/abel533/Mapper/wiki

(二、下) springBoot 、maven 、mysql、 mybatis、 通用Mapper、lombok 简单搭建例子 《附项目源码》的更多相关文章

  1. springboot学习笔记:11.springboot+shiro+mysql+mybatis(通用mapper)+freemarker+ztree+layui实现通用的java后台管理系统(权限管理+用户管理+菜单管理)

    一.前言 经过前10篇文章,我们已经可以快速搭建一个springboot的web项目: 今天,我们在上一节基础上继续集成shiro框架,实现一个可以通用的后台管理系统:包括用户管理,角色管理,菜单管理 ...

  2. springboot学习笔记:8. springboot+druid+mysql+mybatis+通用mapper+pagehelper+mybatis-generator+freemarker+layui

    前言: 开发环境:IDEA+jdk1.8+windows10 目标:使用springboot整合druid数据源+mysql+mybatis+通用mapper插件+pagehelper插件+mybat ...

  3. (一 、上)搭建简单的SpringBoot + java + maven + mysql + Mybatis+通用Mapper 《附项目源码》

    最近公司一直使用 springBoot 作为后端项目框架, 也负责搭建了几个新项目的后端框架.在使用了一段时间springBoot 后,感觉写代码 比spring 更加简洁了(是非常简洁),整合工具也 ...

  4. MyBatis项目配置案例详解与Web下的增删改查实现[附项目源码]

    MyBatis项目案例 项目图示: 项目源码地址:https://github.com/JluTiger/mybatispro 1.项目功能 项目案例:后台管理系统用户数据维护平台 所有用户数据查询 ...

  5. Spring+SpringMvc+Mybatis框架集成搭建教程五(项目源码发布到GitHub)

    一.背景 我们做完了上面的四步操作以后,来把我们写好的项目提交到自己的GitHub仓库进行版本管理,具体步骤如下. 二.提交步骤 1.首先你要保证你已经有GitHub的账号和密码(没有可以去githu ...

  6. springboot学习笔记:9.springboot+mybatis+通用mapper+多数据源

    本文承接上一篇文章:springboot学习笔记:8. springboot+druid+mysql+mybatis+通用mapper+pagehelper+mybatis-generator+fre ...

  7. Java Maven:spring boot + Mybatis连接MySQL,通用mapper的增删改查,映射实现多表查询

    1. MySQL自带库test添加表user.role 角色表role 用户表user 2. 添加依赖,配置属性 相关依赖:百度即可,此处略 application.properties spring ...

  8. SpringBoot 3.SpringBoot 整合 MyBatis 逆向工程以及 MyBatis 通用 Mapper

    一.添加所需依赖,当前完整的pom文件如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=&qu ...

  9. 详解Mybatis通用Mapper介绍与使用

    使用Mybatis的开发者,大多数都会遇到一个问题,就是要写大量的SQL在xml文件中,除了特殊的业务逻辑SQL之外,还有大量结构类似的增删改查SQL.而且,当数据库表结构改动时,对应的所有SQL以及 ...

随机推荐

  1. js实现浏览器窗口缩放刷新

    两行代码 $(window).resize(function () { location.reload(); })

  2. Python-模块3-re

    今天我们就说一个模块,那就是re,不过想要了解re模块,我们得先了解一下什么是正则表达式,有助于我们更好的学习re模块 一.正则表达式 首先, 我们在网页上进行注册或者登陆的时候经常能看到一些格式上的 ...

  3. 在URL里传入数组到HTML 里。

    需求 静态页面根据URL输入,动态显示图表满足如下两个条件. 1. 隐藏指定的行 2. 设定初始显示的Check box 需要的部分被打勾 实现 1. 创建一个静态的页面, <table id= ...

  4. AndroidStudio运行时出现错误:Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled

    本来想调出MMDS,没想到报出这个错误: 最后发现原来是自己选Android Device Monitor不小心把Enable ADB Integration前面的√去掉了.点击工具栏中的Tools, ...

  5. python(day1-11)

    day1:Python入门 day2:数字类型字符编码 day3:函数 day4:模块与包 day5:常用模块 day6:面向对象 day8:异常处理 day9:网络编程 day10:并发编程 day ...

  6. javascript面向对象的写法02

    面向对象特性的初步实现 1.封装 利用作用域封装变量 作用域的概念是一样的,for语句,if语句等这些作用域内定义的变量只能作用域内访问,函数内定义的变量只能函数内访问. function Class ...

  7. C++数组怎么复制

    C++数组怎么复制: #include <string.h>main(){int a[10]={34,56,4,10,77,51,93,30,5,52};int b[10];memcpy( ...

  8. 【NLP_Stanford课堂】拼写校正

    在多种应用比如word中都有拼写检查和校正功能,具体步骤分为: 拼写错误检测 拼写错误校正: 自动校正:hte -> the 建议一个校正 建议多个校正 拼写错误类型: Non-word Err ...

  9. [问题记录]libpomelo工程调整编译链接错误

    1. 描述: 如下图所示,出现链接错误.那么链接问题一般也就两块设置: (1)包含路径Additional Library Directories (2)lib库的包含Additional Depen ...

  10. Python学习---重点模块之xml

    xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单 数据准备 <?xml version="1.0"?> <data&g ...