SpringBoot连接数据库并整合mybatis进行简单的数据库操作

本文介绍了如何在Spring Boot项目中集成JDBC、MySQL以及MyBatis,通过配置application.yaml文件设置数据库连接,并创建Java实体类、Mapper接口、Service以及Mapper映射文件,实现了根据pNO查询PTable的方法。最后在Controller中调用Service完成数据查询操作。

首先我们引入jdbc的starter与mysql的依赖

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jdbc</artifactId>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.49</version>
        </dependency>

然后再application.yaml配置文件中设置如下:

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/spj?useSSL=false
    username: ****
    password: ****
    driver-class-name: com.mysql.jdbc.Driver

这样我们便与本地mysql数据库连接起来了
接下来我们引入mybatis的starter

        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.4</version>
        </dependency>

在application.yaml文件中设置如下:

mybatis:
  mapper-locations: classpath:mybatis/mapper/*.xml  #设置mapper映射文件的路径
  configuration:
    map-underscore-to-camel-case: true #开启驼峰命名

然后我们根据数据库表的数据项建立对应的Java实体类:
在这里插入图片描述

/**
 * @Author Kk
 * @Date 2022/2/7 16:23
 * @Description
 */
@Data
public class PTable {
    private String pNO;
    private String pName;
    private String color;
    private Integer weight;
}

建立对应的Mapper接口:

/**
 * @Author Kk
 * @Date 2022/2/7 16:36
 * @Description
 */
@Mapper
public interface PMapper {
    //根据pNO查找
    PTable getPTableByPNO(String pNO);
}

建立对应的Service:

/**
 * @Author Kk
 * @Date 2022/2/7 16:39
 * @Description
 */
@Service
public class PService {
    @Autowired
    PMapper pMapper;
    
    public PTable getPTableByPNO(String pNO){
        return pMapper.getPTableByPNO(pNO);
    }
}

建立对应的mapper映射文件

<?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.kk.admin.mapper.PMapper">
    <!--    PTable getPTableByPNO(String pNO); -->
    <select id="getPTableByPNO" resultType="com.kk.admin.bean.PTable">
        select * from  p where PNO = #{pNO}
    </select>
</mapper>

在controller中调用service:

@Autowired
    PService pService;
    
    @ResponseBody
    @GetMapping("/getPTableByPNO")
    public PTable getPTableByPNO(@RequestParam("pNO") String pNO){
        return pService.getPTableByPNO(pNO);
    }

启动服务查看效果
在这里插入图片描述
最佳实战:
● 引入mybatis-starter
● 配置application.yaml中,指定mapper-location位置即可
● 编写Mapper接口并标注@Mapper注解
● 简单方法直接注解方式
● 复杂方法编写mapper.xml进行绑定映射
● @MapperScan(“com.atguigu.admin.mapper”) 简化,其他的接口就可以不用标注@Mapper注解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值