SpringBoot整合MyBatisPlus

前言:本文通过简单介绍Spring Boot和MyBatis-Plus框架整合,提升与数据库的交互作用。MyBatis-Plus持久层框架技术相比MyBatis更加强大,效率更高,内置多个增删改查方法,十分适合与Spring Boot组合使用。

MyBatisPlus官网

导入依赖

<!-- MyBatisPlus -->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>Latest Version</version>
</dependency>
<!-- mysql 依赖-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- lombok -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
</dependency>

设计数据库

SET FOREIGN_KEY_CHECKS=0;

DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(32) NOT NULL,
  `password` varchar(32) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

INSERT INTO `user` VALUES ('1', 'jack', '123');
INSERT INTO `user` VALUES ('2', 'tom', '123');

配置application.yml

server:
  port: 8888	# 端口号
spring
  datasource:
    driver-class-name: com.mysql.jdbc.Driver	# 驱动名
    url: jdbc:mysql://127.0.0.1:3306/springboot_demo?useUnicode=true&characterEncoding=UTF8&useSSL=false&allowMultiQueries=true&serverTimezone=Asia/Shanghai	# 数据库连接url
    username: root	# 用户名
    password: root	# 密码

创建实体类pojo

User.java

@Data // 需要在idea中安装lombok插件
public class User {
    private Integer id;
    private String username;
    private String password;
}

创建mapper

继承BaseMapper<User>,内置默认有单表的增删改查方法

UserMapper.java

public interface UserMapper extends BaseMapper<User> {
}

修改启动类

MyBatisPlusDemoApplication.java

@SpringBootApplication
@MapperScan("com.tom.mapper")	// 让Spring扫描和加载到mapper
public class MyBatisPlusDemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(MyBatisPlusDemoApplication.class, args);
    }
}

创建service

UserService.java接口

public interface UserService {
    List<User> queryUserList();	 // 查询所有用户
}

UserServiceImpl.java 实现类

@Service  //将业务对象实例化 加入到SpringIOC容器中
public class UserServiceImpl implements UserService {
    @Autowired
    private UserMapper userMapper;
    
	// 查询所有用户
    @Override
    public List<User> queryUserList() {
        return userMapper.selectList(null);	// mapper内置方法
    }
}

创建controller

Spring中controller注解区别

使用注解@RestController所有方法返回的数据都是json格式的字符串(基于REST的web服务控制器)

使用注解@Controller是向前端响应html静态页面(传统Spring MVC视图控制器)

两者关键区别是HTTP响应体的创建方式

UserController.java

@RestController  //将该对象加入到SpringIOC容器中
public class UserController {
    @Autowired
    private UserService userService;

    /**
     * 查询用户表所有用户列表
     * @return
     */
    @GetMapping("/userList")
    public List<User> queryUserList(){
        return userService.queryUserList();
    }
}

打印SQL日志

方法一

logging:
  level:
    com.tom.mapper: debug

方法二

mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #开启sql日志
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值