博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springboot集成mybatisplus小例子
阅读量:5216 次
发布时间:2019-06-14

本文共 8183 字,大约阅读时间需要 27 分钟。

 

集成mybatisplus后,简单的CRUD就不用写了,如果没有特别的sql,就可以不用mapper的xml文件的。

 

目录

 

 

pom.xml文件

1 
2
4
4.0.0
5
6
org.springframework.boot
7
spring-boot-starter-parent
8
1.5.21.RELEASE
9
10
11
com.xiaostudy
12
demo1
13
0.0.1-SNAPSHOT
14
demo1
15
Demo project for Spring Boot
16 17
18
1.8
19
20 21
22
23
24
org.springframework.boot
25
spring-boot-starter-web
26
27
28
org.springframework.boot
29
spring-boot-starter
30
31
32
org.springframework.boot
33
spring-boot-starter-test
34
test
35
36 37
39
40
com.baomidou
41
mybatis-plus-boot-starter
42
3.1.1
43
44 45
46
47
com.alibaba
48
druid
49
1.0.29
50
51 52
53
54
mysql
55
mysql-connector-java
56
5.1.38
57
58 59
60 61
62
63
64
org.springframework.boot
65
spring-boot-maven-plugin
66
67
68
69 70

 

实体类User

1 package com.xiaostudy.demo1.entity; 2  3 import com.baomidou.mybatisplus.annotation.TableName; 4  5 import java.io.Serializable; 6  7 @TableName("t_user") 8 public class User implements Serializable { 9     private String id;10     private String userName;11     private String userPassword;12 13     public String getId() {14         return id;15     }16 17     public void setId(String id) {18         this.id = id;19     }20 21     public String getUserName() {22         return userName;23     }24 25     public void setUserName(String userName) {26         this.userName = userName;27     }28 29     public String getUserPassword() {30         return userPassword;31     }32 33     public void setUserPassword(String userPassword) {34         this.userPassword = userPassword;35     }36 37     @Override38     public String toString() {39         return "User{" +40                 "id='" + id + '\'' +41                 ", userName='" + userName + '\'' +42                 ", userPassword='" + userPassword + '\'' +43                 '}';44     }45 }

 

Dao[也叫Mapper]

1 package com.xiaostudy.demo1.mapper; 2  3 import com.baomidou.mybatisplus.core.mapper.BaseMapper; 4 import com.xiaostudy.demo1.entity.User; 5 import org.springframework.stereotype.Repository; 6  7 /** 8  * 

9 * Mapper接口10 *

11 *12 * @author xiaostudy13 * @since 2019-09-1514 */15 @Repository16 public interface UserDao extends BaseMapper
{17 }

 

Service

1 package com.xiaostudy.demo1.service;2 3 import com.baomidou.mybatisplus.extension.service.IService;4 import com.xiaostudy.demo1.entity.User;5 6 public interface UserService extends IService
{7 }

 

Service实现类

1 package com.xiaostudy.demo1.service.impl; 2  3 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 4 import com.xiaostudy.demo1.entity.User; 5 import com.xiaostudy.demo1.mapper.UserDao; 6 import com.xiaostudy.demo1.service.UserService; 7 import org.springframework.stereotype.Service; 8  9 @Service10 public class UserServiceImpl extends ServiceImpl
implements UserService {11 }

 

Controller

package com.xiaostudy.demo1.controller;import com.xiaostudy.demo1.entity.User;import com.xiaostudy.demo1.service.UserService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;import java.util.Date;import java.util.List;@RestController@RequestMapping("/user")public class UserController {    @Autowired    private UserService userService;    @RequestMapping("/getAll")    public String getAll() {        List
list = userService.list(); System.out.println("list:" + list); return list.toString(); } @RequestMapping("/insert") public String insert() { User user = new User(); // 不设置id的话,会自动生成一个UUID// user.setId(new Date().getTime() + ""); user.setUserName("aaa"); user.setUserPassword("bbb"); boolean save = userService.save(user); return getAll(); }}

 

application-jdbc.yml

1 #数据源 2 spring: 3   security: 4     basic: 5       enabled: false 6   datasource: 7     url: jdbc:mysql://127.0.0.1:3306/my_test?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false 8     username: root 9     password: 密码10     driver-class-name: com.mysql.jdbc.Driver11     druid:12       # 初始化时建立物理连接的个数。初始化发生在显示调用init方法,或者第一次getConnection时13       initialSize: 114       # 最小连接池数量15       minIdle: 116       # 最大连接池数量17       maxActive: 1018       # 配置获取连接等待超时的时间19       maxWait: 1000020       # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒21       timeBetweenEvictionRunsMillis: 6000022       # 配置一个连接在池中最小生存的时间,单位是毫秒23       minEvictableIdleTimeMillis: 30000024       # 验证连接有效与否的SQL,不同的数据配置不同25       validationQuery: select 126       # 建议配置为true,不影响性能,并且保证安全性。27       # 申请连接的时候检测,如果空闲时间大于28       # timeBetweenEvictionRunsMillis,29       # 执行validationQuery检测连接是否有效。30       testWhileIdle: true31       # 申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。32       # 这里建议配置为TRUE,防止取到的连接不可用33       testOnBorrow: true34       # 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能35       testOnReturn: false36       # 是否缓存preparedStatement,也就是PSCache。37       # PSCache对支持游标的数据库性能提升巨大,比如说oracle。38       # 在mysql5.5以下的版本中没有PSCache功能,建议关闭掉。39       # 作者在5.5版本中使用PSCache,通过监控界面发现PSCache有缓存命中率记录,40       # 该应该是支持PSCache。41       # 打开PSCache,并且指定每个连接上PSCache的大小42       poolPreparedStatements: true43       maxPoolPreparedStatementPerConnectionSize: 2044       # 属性类型是字符串,通过别名的方式配置扩展插件,45       # 常用的插件有:46       # 监控统计用的filter:stat47       # 日志用的filter:log4j48       # 防御sql注入的filter:wall49       filters: stat50 51 # ====================MybatisPlus====================52 mybatis-plus:53   # 如果是放在src/main/java目录下 classpath:/com/yourpackage/*/mapper/*Mapper.xml54   # 如果是放在resource目录 classpath:/mapper/*Mapper.xml55   mapper-locations: classpath*:com/frame/**/**.xml,classpath*:mapping/**/**.xml56   #实体扫描,多个package用逗号或者分号分隔57   typeAliasesPackage: com.frame.**.entity,com.frame.**.dto58   global-config:59     #刷新mapper 调试神器60     db-config:61       #主键类型  0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";62       id-type: UUID63       #字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断"64       field-strategy: 265       #驼峰下划线转换66       column-underline: false67       #数据库大写下划线转换68 #      capital-mode: true69       #逻辑删除配置70       logic-delete-value: 171       logic-not-delete-value: 072     refresh: true73   configuration:74     #配置返回数据库(column下划线命名&&返回java实体是驼峰命名),自动匹配无需as(没开启这个,SQL需要写as: select user_id as userId)75     map-underscore-to-camel-case: true76     cache-enabled: false77     #配置JdbcTypeForNull, oracle数据库必须配置78     jdbc-type-for-null: 'null'79     log-impl: org.apache.ibatis.logging.stdout.StdOutImpl80     database-id: mysql

 

application.yml

1 server:2   port: 80803 4 spring:5   profiles:6     include: jdbc

 

测试

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/xiaostudy/p/11525092.html

你可能感兴趣的文章
Lucene&Solr(索引) 暂空
查看>>
软件工程之系统建模篇【设计动态模型】
查看>>
洛谷P2831 愤怒的小鸟
查看>>
洛谷3197&bzoj1008 越狱
查看>>
MVVM
查看>>
[Aaronyang] 写给自己的WPF4.5 笔记18[几何图形*Geometry图文并茂讲解]
查看>>
nyoj284-坦克大战(搜索 bfs)
查看>>
oracle 忘记用户名
查看>>
Mybatis Generator insert useGeneratedKeys keyProperty
查看>>
python 全栈开发,Day18(对象之间的交互,类命名空间与对象,实例的命名空间,类的组合用法)...
查看>>
vlc 控件属性和方法
查看>>
web 版processing显示图片
查看>>
while counter<10:
查看>>
wkhtmltopdf乱码解决方案
查看>>
Http协议原理解析第一篇
查看>>
Linux 2.6内核Makefile浅析
查看>>
工作杠杆
查看>>
24. Swap Nodes in Pairs
查看>>
css常用样式
查看>>
Ubuntu下使用ScribeFire来写博客
查看>>