Springboot 的基础使用8(整合mybatis)

本文介绍了如何在Springboot项目中集成Mybatis,从创建项目到配置数据库连接,涉及pom.xml的调整、yaml配置、实体类、控制器、服务层和服务实现层的搭建,以及UserMapper接口和Mapper XML文件的编写。这是一个Springboot基础使用系列的一部分。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        1.创建项目(自动生成)

 

 

 

 

         2.pom.xml(它自动生成了很多包,但是缺一个连接池的包druid)也顺便把数据库连接的包加个版本号,要不然可能连接不了。

 

<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-jdbc</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<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>
			<version>8.0.29</version>
		</dependency>
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		
		<!--连接池的包		-->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
			<version>1.2.9</version>
		</dependency>
	</dependencies>

                3.按照springboot的创建格式进行创建。

        

                        application.yml

 

 

 


server:
  port: 8888
spring:
  application:
    name: mybatis1
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql:///java2208?useUnicode=true&characterEncoding=UTF-8
    username: root
    password: 123456
    type: com.alibaba.druid.pool.DruidDataSource
mybatis:
  type-aliases-package: com.project.pojo
  mapper-locations: classpath:mapper/*.xml

                        application类

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

                        config包下:

      

@SpringBootConfiguration
@ComponentScan(basePackages = {"com.project"})
@MapperScan(basePackages = {"com.project.mapper"})
public class AppConfig {
}

                pojo包下实体类

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    private Integer id;
    private String username;
    private String password;
    private Integer status;
}

                controller包下:

@RestController
public class UserController {
    @Autowired
    private IUserService userService;
    /**
     * 查询所有用户
     * @return
     */
    @RequestMapping("/findUserAll")
    public Object findUserAll() throws Exception {
        List<User> userAll = userService.findUserAll();
        return userAll;
    }

}

                service包下:

public interface IUserService {
    
    /**
     * 查询所有用户
     * @return
     */
    List<User> findUserAll()throws Exception;

}

                service.impl包下:

@Service
public class UserService implements IUserService {

    @Autowired
    //如果UserMapper不加@Repository这个注解,
    //这里的userMapper就会爆红,不过不影响运行
    //因为这个对象是动态生成的它检查不到,所以就会爆红,但是依旧能运行
    //如果不想看到爆红就在UserMapper接口里加个注解
    private UserMapper userMapper;


    @Override
    public List<User> findUserAll() throws Exception {
        return userMapper.selectList();
    }
}


                 UserMapper接口:

 

@Repository
//将数据访问层的类识别并标注为SpringBean
public interface UserMapper {

    /**
     * 查询所有的用户
     * @return
     */
    List<User> selectList();

}

                 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">

<!--这个主要玩的是引入接口之后的玩法
    1:命名空间不能乱写 只能是 接口的全路径
-->
<mapper namespace="com.project.mapper.UserMapper">

    <!--查询所有用户 id要与UserMapper下的方法名一致才行-->
    <select id="selectList" resultType="user">
        select * from user
    </select>

</mapper>

                效果:

          以上知识只是本人对Springboot基础的一些见解,如知识点有问题,请联系我修改,之后会更新Springboot基础使用的内容。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值