零基础搭建boot+MybatisPlus的详细教程
目录
1.准备工作1.1 创建数据库表1.2 创建boot项目1.3 创建实体类(映射数据库表)2.使用mybatisPlus(操作数据库)2.1 添加mybatisPlus依赖2.2 配置数据库信息2.3 创建mapper接口2.4 配置mapper扫描2.5 test3. 常用设置3.1 设置表映射规则3.2 主键生成策略(默认基于雪花算法)3.3 全局设置3.4 字段与列名的驼峰映射(默认开启)3.5 日志设置4.基操4.1 插入 insert()4.2 删除 deleteXxx() map4.3 更新 updateXxx()5.Wrapper(条件构造器)5.16. service层使用7. 代码生成器(未完待续)1.准备工作
1.1 创建数据库表
创建表
CREATE TABLE `login`( `id` INT(4) primary key auto_increment, `login_id` VARCHAR(50) UNIQUE, `city` VARCHAR(50) DEFAULT "富平", `password` VARCHAR(50) )
在可视化工具中添加数据(我不太会写sql)
1.2 创建boot项目
1.3 创建实体类(映射数据库表)
2.使用mybatisPlus(操作数据库)
2.1 添加mybatisPlus依赖
com.baomidou mybatis-plus-boot-starter 3.1.2 mysql mysql-connector-java
2.2 配置数据库信息
spring: datasource: url: jdbc:mysql://localhost:3306/test0314?characterEncoding=utf-8&serverTimezone=UTC username: root password: root driver-class-name: com.mysql.cj.jdbc.Driver
2.3 创建mapper接口
该接口中提供了常用的crud方法,我们只需要从容器中获取mapper操作数据即可
package com.hand.demo.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.hand.demo.entity.User; /** * 用户数据访问层接口 * */ public interface UserMapper extends BaseMapper{ }
2.4 配置mapper扫描
在启动类中配置我们的mapper在哪个包两种方法:@Mapper注解(麻烦);@MapperScan(在主启动类上进行配置)@SpringBootApplication @MapperScan("com.hand.demo.mapper") public class Demo0318Application { public static void main(String[] args) { SpringApplication.run(Demo0318Application.class, args); } }
2.5 test
junit junit test
在test包下
package com.hand.demo; import com.hand.demo.entity.User; import com.hand.demo.mapper.UserMapper; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import java.util.List; @SpringBootTest class Demo0318ApplicationTests { @Autowired private UserMapper userMapper; /** * 获取UserMapper实现类对象(mybatisPlus容器会使用动态代理生成该接口的实现类对象,并注入到spring容器中 * 所以我们只需要在这定义一个成员变量,通过注解自动注入即可) * */ @Test public void testQueryAll() { ListuserList = userMapper.selectList(null); System.out.println(userList); } }
3. 常用设置
3.1 设置表映射规则
设置表前缀配置
3.2 主键生成策略(默认基于雪花算法)
@TableId(type = IdType.AUTO) private Long id;
3.3 全局设置
mybatis-plus: global-config: db-config: table-prefix: id-type: auto
3.4 字段与列名的驼峰映射(默认开启)
mybatis-plus: global-config: db-config: table-prefix: id-type: auto configuration: map-underscore-to-camel-case: false
3.5 日志设置
mybatis-plus: global-config: db-config: table-prefix: id-type: auto configuration: map-underscore-to-camel-case: false log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
4.基操
4.1 插入 insert()
4.2 删除 deleteXxx() map
4.3 更新 updateXxx()
5.Wrapper(条件构造器)
5.1
Wrapper AbstractWrapper QueryWrapper UpdateWrapper
QueryWrapper的select可以设置需要查询的列
6. service层使用
不需要手动注入该泛型内的mapper如果需要别的mapper手动注入就行package com.hand.demo.service; import com.baomidou.mybatisplus.extension.service.IService; import com.hand.demo.entity.User; public interface UserService extends IService{ }
package com.hand.demo.service.Impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hand.demo.entity.User; import com.hand.demo.mapper.UserMapper; import com.hand.demo.service.UserService; @Service public class UserServiceImpl extends ServiceImplimplements UserService { }
@Autowired private UserService userService; @Test public void testService() { List也有自己的批量操作等(batch)自定义方法(多表关联)list = userService.list(); System.out.println(list); }
7. 代码生成器(未完待续)
每个接口都在继承相同的BaseMapper,IService(代码冗余,繁琐)MybatisPlus提供的代码生成器,一键生成mvc三层所有代码如何使用,引入下边的包com.baomidou mybatis-plus-generator 3.5.2 org.freemarker freemarker
到此这篇关于零基础搭建boot+MybatisPlus的文章就介绍到这了,更多相关boot+MybatisPlus搭建内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
X 关闭
X 关闭
- 15G资费不大降!三大运营商谁提供的5G网速最快?中国信通院给出答案
- 2联想拯救者Y70发布最新预告:售价2970元起 迄今最便宜的骁龙8+旗舰
- 3亚马逊开始大规模推广掌纹支付技术 顾客可使用“挥手付”结账
- 4现代和起亚上半年出口20万辆新能源汽车同比增长30.6%
- 5如何让居民5分钟使用到各种设施?沙特“线性城市”来了
- 6AMD实现连续8个季度的增长 季度营收首次突破60亿美元利润更是翻倍
- 7转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 8充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 9好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 10名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?