springboot和mybatis整合

一、创建工程

1、点击 Spring Initializr , 选择 JDK 版本 ,选择 Default ,选择Type(Maven),点击 Next;

2、选择 Web 依赖 和 Spring Boot 版本号,点击 Next;

(3)修改工程结构改成如下结构:

 二、编写代码

1、在pom文件中增加依赖:

        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.0.0</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <!--lombok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.16.10</version>
        </dependency>

2、修改配置文件(src/main/resources/application.properties)

server.port=8080


spring.datasource.url=jdbc:mysql://localhost:3306/myproject
spring.datasource.username=root
spring.datasource.password=123456


mybatis.type-aliases-package=com.example.model
mybatis.mapper-locations=classpath:mapper/*.xml

 

 3、创建实体类User(com/example/demo/entity/User.java)

package com.example.demo.entity;

import lombok.Data;

@Data
public class User {

    private String name;

    private String password;

    private Character sex;


}

4、增加mapper文件(src/main/resources/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="findById" parameterType="int" resultType="com.example.demo.entity.User"> 
SELECT * FROM user WHERE id = #{id}
</select>
</mapper>

 

编写对应的mapper接口文件(com/example/demo/mapper/UserMapper.java)

import com.example.demo.entity.User;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface UserMapper {

    User findById(int id);

}

 

5、编写Service层代码

UserService接口(com/example/demo/service/UserService.java)

public interface UserService {

    User findById(int id);

}

 

编写实现类UserServiceImpl(com.example.demo.service.impl.UserServiceImpl)

@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserMapper userMapper;


    @Override
    public User findById(int id) {
        System.out.println("hhhh");
        return userMapper.findById(id);
    }
}

 

6、编写Controller层代码

UserController代码(com.example.demo.controller.UserController)
@RestController
public class UserController {


    @Autowired
    private UserService userService;

    // http://127.0.0.1:8080/hello?name=lisi
    @RequestMapping("/hello")
    public User hello(@RequestParam(name = "name", defaultValue = "unknown user") String name) {
        User user = userService.findById(1);
        return user;
    }

}

 

7、springboot启动类

@SpringBootApplication
@MapperScan("com.example.demo.mapper")
public class Demo1Application {

    public static void main(String[] args) {
        SpringApplication.run(Demo1Application.class, args);
    }

}

 

三、可能的问题

可能出现的问题,如果使用springboot3.5版本,对应的pom依赖需要求改

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.5</version>
            <exclusions>
                <exclusion>
                    <groupId>org.mybatis</groupId>
                    <artifactId>mybatis-spring</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>3.0.3</version>
        </dependency>

 

posted @ 2025-05-29 14:10  晓乎  阅读(266)  评论(0)    收藏  举报
总访问: counter for blog 次