MyBatis 查询数据库

1. 什么是MyBatis

MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。
 
MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。
 
MyBatis 可以通过简单的 XML注解 来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

用一句简单的话来概述: MyBatis 是更简单完成程序和数据库交互的工具MyBatis 是更简单的操作和读取数据库工具

2. 配置 MyBatis 的开发环境

在这里插入图片描述

2.1 准备工作, 创建数据库和表

create database if not exists MyBlogSystem;

use MyBlogSystem;

drop table if exists blog;

-- 创建一个博客表
create table blog (
    blogId int primary key auto_increment,
    title varchar(1024),
    content mediumtext,
    postTime datetime,
    userId int
);

drop table if exists user;

-- 创建一个用户信息表
create table user (
    userId int primary key auto_increment,
    username varchar(128) unique,
    password varchar(128)
);

2.2 添加 MyBatis 依赖

		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>2.2.2</version>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>runtime</scope>
		</dependency>

在这里插入图片描述

2.3 配置连接字符串和 MyBatis

2.3.1 配置数据库连接信息

spring.datasource.url=jdbc:mysql://localhost:3306/MyBlogSystem?characterEncoding=utf8&useSSL=true
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

2.3.2 配置 MyBatis 中的 XML 路径

配置 mybatis 的文件路径, 在 resources/mapper 创建所有表的xml文件

mybatis.mapper-locations=classpath:mapper/**Mapper.xml

这里必须要一样
在这里插入图片描述

2.4 添加代码

2.4.1 添加实体类

添加用户的实体类

@Getter
@Setter
@ToString
public class User {
   
   
    public int userId;
    public String username;
    public String password;
}

2.4.2 添加 mapper 接口


@Mapper
public interface UserMapper {
   
   
    List<User> getAll();
}

2.4.3 添加 UserMapper.xml

固定的xml格式

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.mapper.UserMapper">
    
</mapper>

这里的 UserMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.mapper.UserMapper">
    <select id="getAll" resultType="com.example.demo.model.User">
        select * from user;
    </select>
</mapper>

2.4.4 添加 Service

@Service
public class UserService {
   
   

    // 记得要注入
    @Resource
    private UserMapper userMapper;

    public List<User> getAll() {
   
   
        return userMapper.getAll();
    }
}

2.4.5 添加 Controller


// 这里的 @RestController 相当于 @Controller + @ResponseBody
@RestController
@RequestMapping("/user")
public class UserController3 {
   
   
    @Autowired
    private UserService userService;
    
    @RequestMapping("/getall")
    public List<User> getAll() {
   
   
        return userService.getAll();
    }
}

2.4.6 测试代码

在这里插入图片描述

2.5 注意事项

  1. 注意配置文件中的mapper配置和mapper文件夹的对应 在这里插入图片描述
  2. UserMapper.xml 这里需要一些路径对应, 以及id格式对应 , 这里的resultType是返回的类型.
    在这里插入图片描述
  1. 按照业务规定流程写代码
    在这里插入图片描述

3. MyBatis 的增删改查操作.

3.1 增加操作

步骤:

  • 添加 实体类(这里有了就不需要添加了)
  • 添加 controller
  • 添加 service
  • 添加 mapper 接口
  • 添加 xml

① 添加 controller 实现代码

@RestController
@RequestMapping("/user")
public class UserController3 {
   
   
    @Autowired
    private UserService userService;

    @RequestMapping("/insert")
    public Integer insert(User user) {
   
   
        return userService.insert(user);
    }
}

② 添加 service 实现代码

@Service
public class UserService {
   
   
    // 记得要注入
    @Resource
    private UserMapper userMapper;

    public Integer insert(User user) {
   
   
        
评论 34
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

独一无二的哈密瓜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值