SpringBoot链接MySQL

本文介绍如何使用SpringBoot连接MySQL数据库,并提供了一个简单的示例,包括引入依赖、配置连接、创建服务类及控制器等步骤。

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

在学习任何一个后端技术,如果不让数据库参与进来,那只能说在学习过程中都不算完整的。下面就简单的使用Spring Boot链接MySQL数据库。该例子中没有使用其他的持久化框架,只是使用到了Spring自带的JdbcTemplate。

1、引入MySQL依赖

<!--添加MySql依赖-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

2、引入Spring JDBC依赖

<!--添加JDBC依赖-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

3、配置MySQL链接

属性配置文件:

mysql.url=jdbc:mysql://127.0.0.1:3306/tenghu
mysql.username=root
mysql.password=xiaohu

SpringBoot配置文件:

server:
  port: ${rest.port}
  context-path: /sbm/
  tomcat:
    uri-encoding: UTF-8
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: ${mysql.url}
    username: ${mysql.username}
    password: ${mysql.password}

4、创建Service类

/**
 * 客户信息服务实现类
 * Created by Arvin on 2017/12/8.
 */
@Service
public class CusBaseInfoServiceImpl implements CusBaseInfoService{

    @Autowired
    private JdbcTemplate jdbcTemplate;

    @Override
    public List<CusBaseInfo> getAllCusBaseInfo() {
        //查询客户信息
        List<Map<String,Object>> list=jdbcTemplate.queryForList("select * from cus_base_info");
        List<CusBaseInfo> cusBaseInfoList=new ArrayList<>();
        for (Map<String,Object> map:list ) {
            CusBaseInfo cusBaseInfo=new CusBaseInfo();
            //客户ID
            cusBaseInfo.setCusId(map.get("CUS_ID").toString());
            //客户编码
            cusBaseInfo.setCusCode(map.get("CUS_CODE").toString());
            //客户名称
            cusBaseInfo.setCusName(map.get("CUS_NAME").toString());
            //客户简称
            cusBaseInfo.setCusAbbr(map.get("CUS_ABBR").toString());
            //客户地址
            cusBaseInfo.setAddress(map.get("ADDRESS").toString());
            cusBaseInfoList.add(cusBaseInfo);
        }
        return cusBaseInfoList;
    }

    @Override
    public CusBaseInfo saveCusBaseInfo(CusBaseInfo cusBaseInfo) {
        cusBaseInfo.setCusId(StringUtils.getUUID());
        String sql="insert into cus_base_info(cus_id,cus_code,cus_name,cus_abbr,address) values(?,?,?,?,?)";
        jdbcTemplate.update(sql,new Object[]{cusBaseInfo.getCusId(),
                cusBaseInfo.getCusCode(),
                cusBaseInfo.getCusName(),
                cusBaseInfo.getCusAbbr(),
                cusBaseInfo.getAddress()},new int[]{Types.VARCHAR,Types.VARCHAR,Types.VARCHAR,Types.VARCHAR,Types.VARCHAR});
        //获取客户信息
        return getCusBaseInfoById(cusBaseInfo.getCusId());
    }

    @Override
    public CusBaseInfo getCusBaseInfoById(String cusId) {
        Map<String,Object> map=jdbcTemplate.queryForMap("select * from cus_base_info where cus_id = ?",cusId);
        CusBaseInfo cusBaseInfo=new CusBaseInfo();
        //客户ID
        cusBaseInfo.setCusId(map.get("CUS_ID").toString());
        //客户编码
        cusBaseInfo.setCusCode(map.get("CUS_CODE").toString());
        //客户名称
        cusBaseInfo.setCusName(map.get("CUS_NAME").toString());
        //客户简称
        cusBaseInfo.setCusAbbr(map.get("CUS_ABBR").toString());
        //客户地址
        cusBaseInfo.setAddress(map.get("ADDRESS").toString());
        return cusBaseInfo;
    }
}

到这里就完成了链接MySql,使用Spring Boot链接MySql就是这么简单,不需要太多的配置。实体类这里就省略了。既然是一个例子,怎能少得了控制类。

5、创建Controller类

/**
 * 客户信息控制接口
 * Created by Arvin on 2017/12/8.
 */

@RestController
@RequestMapping(value = "/cus")
@Api(value = "客户信息控制接口",description = "客户信息控制接口")
public class CusBaseInfoController {

    @Autowired
    private CusBaseInfoService cusBaseInfoService;

    /**
     * 获取所有客户信息
     * @return
     */
    @RequestMapping(value = "/all",method = RequestMethod.GET)
    @ApiOperation(value = "获取所有客户信息",notes = "获取所有有效的客户信息")
    public List<CusBaseInfo> getAllCusBaseInfo(){
        return cusBaseInfoService.getAllCusBaseInfo();
    }

    /**
     * 保存客户信息
     * @param cusBaseInfo
     * @return
     */
    @RequestMapping(value = "/save",method = RequestMethod.POST)
    @ApiOperation(value = "保存客户信息",notes = "保存客户信息")
    public CusBaseInfo saveCusBaseInfo(@ApiParam(value = "客户信息",name = "cusBaseInfo",required = true)  CusBaseInfo cusBaseInfo){
        return cusBaseInfoService.saveCusBaseInfo(cusBaseInfo);
    }

    /**
     * 根据客户ID查询客户信息
     * @param cusId
     * @return
     */
    @RequestMapping(value = "/get/{cusId}",method = RequestMethod.GET)
    @ApiOperation(value = "根据客户ID查询客户信息",notes = "根据客户ID查询客户信息")
    @ApiImplicitParam(paramType = "path",name = "cusId",value = "客户ID",required = true)
    public CusBaseInfo getCusBaseInfoById(@PathVariable  String cusId){
        return cusBaseInfoService.getCusBaseInfoById(cusId);
    }
}

6、打完收工,看效果

启动Spring Boot,访问:http://127.0.0.1:8091/sbm/swagger-ui.html尽情的操作吧。
这里写图片描述
点击保存接口,来测试下是否保存到数据库。
这里写图片描述
查看数据库,也可以通过接口查询。
这里写图片描述
简单的使用SpringBoot链接MySQL例子就完成了,

7、源码下载

完整结果实例可查看:SpringBoot链接MySQL

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小老虎Love

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

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

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

打赏作者

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

抵扣说明:

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

余额充值