零基础搭建boot+MybatisPlus的详细教程
短信预约 -IT技能 免费直播动态提醒
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依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.1.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
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<User> {
}
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
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
在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;
@Test
public void testQueryAll() {
List<User> userList = 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<User> {
}
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 ServiceImpl<UserMapper, User> implements UserService {
}
@Autowired
private UserService userService;
@Test
public void testService() {
List<User> list = userService.list();
System.out.println(list);
}
- 也有自己的批量操作等(batch)
- 自定义方法(多表关联)
7. 代码生成器(未完待续)
- 每个接口都在继承相同的BaseMapper,IService(代码冗余,繁琐)
- MybatisPlus提供的代码生成器,一键生成mvc三层所有代码
- 如何使用,引入下边的包
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
</dependency>
到此这篇关于零基础搭建boot+MybatisPlus的文章就介绍到这了,更多相关boot+MybatisPlus搭建内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341