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

一、在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. flask接收前台的ajax的post数据

    html <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8& ...

  2. 模块与包&常用模块

    一.模块的使用 模块定义:一系列功能的集合体 分为三大类:1.自定义模块 2.内置模块(比如 time,os,sys) 3.第三方模块 模块的表现形式: 1.使用python编写的py文件 2.已被编 ...

  3. TortoiseSvn 取消忽略的文件

    右键,TortoiseSvn->Properties,选择列表的一条(Property svn:Ignore),remove.

  4. 安装配置postgreSQL+pgcli+pgadmin3

    记录了postgreSQL数据库的完整的安装配置过程,以及postgreSQL的pgcli命令行智能提醒扩展,pgadmin3图形化管理客户端的配置安装.此postgresql是bigsql版安装详情 ...

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

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

  6. vs2017源文件创建代码自动版权声明注释

    原来在vs2015下用的挺好,顺便移植到2017下. 用文本打开,在其头部加上 “C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterpr ...

  7. How to solve problems

    练习是为了帮助你成长 0.Don't panic! 1.What are the inputs? 2.What are the outputs? 3.Work through some example ...

  8. Android 高速录像(1)

    package com.kirin.voltage.activity; import java.io.File;import java.io.IOException;import java.util. ...

  9. QML Delegate中访问该持有者的方式 附加属性(转载)

    http://blog.csdn.net/yuxiaohen/article/details/17226971   用法很奇葩记录一下,实测可以,用于弱化delegate与持有者的依赖 delegat ...

  10. Canvas杂谈

    最近在看一些关于Canvas的知识...这篇文章主要是用来记录学习中遇见的一些问题...以及难以理解的一些东西.. 转帖请注明出处:http://www.cnblogs.com/Troy-Lv5/p/ ...