SpringBoot2.7整合MyBatis

SpringBoot2.7整合MyBatis的教学博客

步骤1:创建一个Spring Boot项目

首先,创建一个新的Spring Boot项目。可以使用Spring Initializr(https://start.spring.io/)进行项目初始化,选择适当的项目元数据(如项目名称、组织、依赖等)。

步骤2:添加依赖

在项目的pom.xml文件中添加以下依赖项,以引入Spring Boot和MyBatis的相关库:

<!-- Spring Boot -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<!-- MyBatis -->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
</dependency>

步骤3:配置数据库连接

在application.properties(或application.yml)配置文件中,配置数据库连接信息。根据您使用的数据库类型,选择相应的驱动程序和连接URL,并提供用户名和密码。例如:

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase
spring.datasource.username=root
spring.datasource.password=yourpassword
#mybatis
mybatis.mapper-locations=classpath*:mapper/*.xml
mybatis.type-aliases-package=com.example.demo.model

步骤4:创建数据库表和实体类

根据需求,在数据库中创建相应的表,并创建与之对应的Java实体类。使用JPA注解或者MyBatis的XML映射文件来定义实体类与数据库表之间的映射关系。

// 实体类
@Data
public class User {
    private Long id;
    private String username;
    private String email;
}

步骤5:创建Mapper接口和SQL语句

创建一个Mapper接口,用于定义与数据库交互的方法。在该接口中,使用MyBatis的注解或者XML映射文件来编写SQL语句。这里是使用注解的(一般建议使用xml,如果要使用xml只需要在Mapper的同一个文件夹里面创建一个名字一模一样的xml文件就行了):
使用注解的:

// Mapper接口
@Mapper
public interface UserMapper {
    @Select("SELECT * FROM users")
    List<User> getAllUsers();

    @Select("SELECT * FROM users WHERE id = #{id}")
    User getUserById(Long id);

    @Insert("INSERT INTO users(username, email) VALUES (#{username}, #{email})")
    @Options(useGeneratedKeys = true, keyProperty = "id")
    int insertUser(User user);

    @Update("UPDATE users SET username = #{username}, email = #{email} WHERE id = #{id}")
    int updateUser(User user);

    @Delete("DELETE FROM users WHERE id = #{id}")
    int deleteUser(Long id);
}

使用xml的:

public interface UserMapperextends BaseMapper<User> {
  User getAllUsers();
}
<?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">
    <resultMap id="userResultMap" type="com.example.demo.model.User">
        <id property="id" column="id"/>
        <result property="name" column="name"/>
        <result property="email" column="email"/>
    </resultMap>

    <select id="getAllUsers" resultMap="userResultMap">
        SELECT * FROM users
    </select>
</mapper>

步骤6:创建Service层

创建一个Service层,在该层中编写业务逻辑代码,并调用Mapper接口中的方法来访问数据库。

@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;

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

    public User getUserById(Long id) {
        return userMapper.getUserById(id);
    }

    public int insertUser(User user) {
        return userMapper.insertUser(user);
    }

    public int updateUser(User user) {
        return userMapper.updateUser(user);
    }

    public int deleteUser(Long id) {
        return userMapper.deleteUser(id);
    }
}

步骤7:创建Controller层

创建一个Controller层,用于处理HTTP请求和响应。在Controller中注入Service,并定义相应的请求处理方法。

@RestController
@RequestMapping("/users")
public class UserController {
    @Autowired
    private UserService userService;

    @GetMapping("/")
    public List<User> getAllUsers() {
        return userService.getAllUsers();
    }

    @GetMapping("/{id}")
    public User getUserById(@PathVariable Long id) {
        return userService.getUserById(id);
    }

    @PostMapping("/")
    public int insertUser(@RequestBody User user) {
        return userService.insertUser(user);
    }

    @PutMapping("/")
    public int updateUser(@RequestBody User user) {
        return userService.updateUser(user);
    }

    @DeleteMapping("/{id}")
    public int deleteUser(@PathVariable Long id) {
        return userService.deleteUser(id);
    }
}

步骤8 配mybtis

@MapperScan这个注解会扫描mapper文件夹,想要指定该文件夹路径
如果每个mapper类都有使用@Mapper直接那么这累就可以去除,不然有可能会出现错误

@Configuration
@MapperScan
public class MybatisPlusConfig {
    /**
     * 分页插件
     *
     * @return 分页
     */
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
        return interceptor;
    }
}

步骤9:运行和测试

启动Spring Boot应用程序,并使用任何HTTP客户端(如Postman)测试定义的API端点。确保与数据库的连接正确,并且可以成功执行CRUD操作。
如果遇到一些错误可以查看该博客:https://blog.csdn.net/weixin_51444617/article/details/131005215看看有没有解决方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!对于Spring Boot 2.7MyBatis Plus的整合,您可以按照以下步骤进行操作: 1. 首先,在您的Spring Boot项目中添加MyBatis Plus的依赖。您可以在项目的pom.xml文件中添加以下依赖项: ```xml <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>最新版本号</version> </dependency> ``` 2. 确保您的数据库驱动程序已经添加到项目的依赖中。如果您使用MySQL数据库,可以添加以下依赖项到pom.xml文件中: ```xml <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>最新版本号</version> </dependency> ``` 3. 创建数据库表以及对应的实体类。根据您的需求,使用数据库管理工具创建数据库表,并创建对应的实体类。 4. 配置数据源。在application.properties或application.yml文件中,配置数据库连接信息,例如: ```yaml spring.datasource.url=jdbc:mysql://localhost:3306/your_db_name spring.datasource.username=your_username spring.datasource.password=your_password ``` 5. 创建Mapper接口。使用MyBatis Plus提供的注解或XML文件创建Mapper接口,用于操作数据库。例如: ```java @Repository public interface UserMapper extends BaseMapper<User> { // 添加自定义的SQL操作方法 } ``` 6. 创建Service和ServiceImpl。创建Service接口和对应的实现类,用于定义业务逻辑和调用Mapper接口。 7. 在Service实现类中注入Mapper,并进行相应的操作。例如: ```java @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public User getUserById(Long id) { return userMapper.selectById(id); } // 其他业务逻辑方法 } ``` 8. 在需要使用数据库操作的地方,注入Service,并调用相应的方法进行数据库操作。 这样,您就完成了Spring Boot 2.7MyBatis Plus的整合。希望对您有所帮助!如果您有任何问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值