广告
返回顶部
首页 > 资讯 > 数据库 >Spring Boo如何t连接MySql数据库
  • 885
分享到

Spring Boo如何t连接MySql数据库

springbootmysql数据库 2023-05-30 23:05:05 885人浏览 薄情痞子
摘要

这篇文章将为大家详细讲解有关spring Boo如何t连接MySql数据库,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Spring Boot有两种方法与数据库建立连接,一种是使用JdbcTemplate

这篇文章将为大家详细讲解有关spring Boo如何t连接MySql数据库,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

Spring Boot有两种方法与数据库建立连接,一种是使用JdbcTemplate,另一种集成mybatis,下面分别为大家介绍一下如何集成和使用这两种方式。

使用JdbcTemplate

<dependency>  <groupId>Mysql</groupId>  <artifactId>mysql-connector-java</artifactId></dependency><dependency>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-jdbc</artifactId></dependency>

在resource文件夹下添加application.properties配置文件并输入数据库参数,内容如下:

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/testspring.datasource.username=rootspring.datasource.passWord=123456spring.datasource.driver-class-name=com.mysql.jdbc.Driverspring.datasource.max-idle=10spring.datasource.max-wait=1000spring.datasource.min-idle=5spring.datasource.initial-size=5server.port=8012server.session.timeout=10server.Tomcat.uri-encoding=UTF-8

新建Controller类测试数据库连接,实例如下:

package com.example.demo;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Map.Entry;import java.util.Set;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.jdbc.core.JdbcTemplate;import org.springframework.WEB.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestController@RequestMapping("/mydb")public class DBController {  @Autowired  private JdbcTemplate jdbcTemplate;    @RequestMapping("/getUsers")  public List<Map<String, Object>> getDbType(){    String sql = "select * from appuser";    List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);    for (Map<String, Object> map : list) {      Set<Entry<String, Object>> entries = map.entrySet( );        if(entries != null) {          Iterator<Entry<String, Object>> iterator = entries.iterator( );          while(iterator.hasNext( )) {          Entry<String, Object> entry =(Entry<String, Object>) iterator.next( );          Object key = entry.geTKEy( );          Object value = entry.getValue();          System.out.println(key+":"+value);        }      }    }    return list;  }    @RequestMapping("/user/{id}")  public Map<String,Object> getUser(@PathVariable String id){    Map<String,Object> map = null;        List<Map<String, Object>> list = getDbType();        for (Map<String, Object> dbmap : list) {            Set<String> set = dbmap.keySet();            for (String key : set) {        if(key.equals("id")){            if(dbmap.get(key).equals(id)){            map = dbmap;          }        }      }    }        if(map==null)      map = list.get(0);    return map;  }  }

运行App输入地址输出数据库数据。

集成Mybatis

 添加mybatis依赖,在pom.xml文件中增加如下:

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

在resource文件夹下添加application.properties配置文件并输入数据库参数,如下:

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/testspring.datasource.username=rootspring.datasource.password=123456spring.datasource.driver-class-name=com.mysql.jdbc.Driverspring.datasource.max-idle=10spring.datasource.max-wait=1000spring.datasource.min-idle=5spring.datasource.initial-size=5server.port=8012server.session.timeout=10server.tomcat.uri-encoding=UTF-8

依次添加mapper的接口类和xml文件,类分别如下:
AppMessageMapper.java

package com.example.demo.mapper;import java.util.List;import com.example.demo.bean.AppMessage;public interface AppMessageMapper {  int deleteByPrimaryKey(String id);  int insert(AppMessage record);  int insertSelective(AppMessage record);  AppMessage selectByPrimaryKey(String id);  int updateByPrimaryKeySelective(AppMessage record);  int updateByPrimaryKey(AppMessage record);    List<AppMessage> selectAll();  List<AppMessage> getMessById(String id);}

AppMessageMapper.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.AppMessageMapper" > <resultMap id="BaseResultMap" type="com.example.demo.bean.AppMessage" >  <id column="id" property="id" jdbcType="VARCHAR" />  <result column="message" property="message" jdbcType="VARCHAR" />  <result column="senddate" property="senddate" jdbcType="TIMESTAMP" /> </resultMap>  <sql id="Base_Column_List" >  id, message, senddate </sql> <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String" >  select   <include refid="Base_Column_List" />  from appuser_message  where id = #{id,jdbcType=VARCHAR} </select> <delete id="deleteByPrimaryKey" parameterType="java.lang.String" >  delete from appuser_message  where id = #{id,jdbcType=VARCHAR} </delete> <insert id="insert" parameterType="com.example.demo.bean.AppMessage" >  insert into appuser_message (id, message, senddate   )  values (#{id,jdbcType=VARCHAR}, #{message,jdbcType=VARCHAR}, #{senddate,jdbcType=TIMESTAMP}   ) </insert> <insert id="insertSelective" parameterType="com.example.demo.bean.AppMessage" >  insert into appuser_message  <trim prefix="(" suffix=")" suffixOverrides="," >   <if test="id != null" >    id,   </if>   <if test="message != null" >    message,   </if>   <if test="senddate != null" >    senddate,   </if>  </trim>  <trim prefix="values (" suffix=")" suffixOverrides="," >   <if test="id != null" >    #{id,jdbcType=VARCHAR},   </if>   <if test="message != null" >    #{message,jdbcType=VARCHAR},   </if>   <if test="senddate != null" >    #{senddate,jdbcType=TIMESTAMP},   </if>  </trim> </insert> <update id="updateByPrimaryKeySelective" parameterType="com.example.demo.bean.AppMessage" >  update appuser_message  <set >   <if test="message != null" >    message = #{message,jdbcType=VARCHAR},   </if>   <if test="senddate != null" >    senddate = #{senddate,jdbcType=TIMESTAMP},   </if>  </set>  where id = #{id,jdbcType=VARCHAR} </update> <update id="updateByPrimaryKey" parameterType="com.example.demo.bean.AppMessage" >  update appuser_message  set message = #{message,jdbcType=VARCHAR},   senddate = #{senddate,jdbcType=TIMESTAMP}  where id = #{id,jdbcType=VARCHAR} </update>  <select id="selectAll" resultMap="BaseResultMap">  select      id, message, senddate  from appuser_message  order by senddate asc </select>  <select id="getMessById" resultMap="BaseResultMap" parameterType="java.lang.String">  select       id, message, senddate  from     appuser_message     where id = #{id,jdbcType=VARCHAR}  order by senddate asc  </select> </mapper>

AppMessage.java

package com.example.demo.bean;import java.util.Date;public class AppMessage {  private String id;  private String message;  private Date senddate;  public String getId() {    return id;  }  public void setId(String id) {    this.id = id == null ? null : id.trim();  }  public String getMessage() {    return message;  }  public void setMessage(String message) {    this.message = message == null ? null : message.trim();  }  public Date getSenddate() {    return senddate;  }  public void setSenddate(Date senddate) {    this.senddate = senddate;  }}

AppMessageService.java

package com.example.demo.service;import java.util.ArrayList;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import com.example.demo.bean.AppMessage;import com.example.demo.mapper.AppMessageMapper;@Servicepublic class AppMessageService {    @Autowired  private AppMessageMapper mapper;    public List<AppMessage> getMessage(){     List<AppMessage> list = new ArrayList<AppMessage>();     list.add(mapper.selectByPrimaryKey("xtt"));     //list = mapper.selectAll();     return list;  }    public List<AppMessage> getAllMessage(){     List<AppMessage> list = new ArrayList<AppMessage>();     list = mapper.selectAll();     return list;  }  public int addMessage(AppMessage appMessage) {    return mapper.insert(appMessage);  }  public List<AppMessage> getMessageById(String id) {    return mapper.getMessById(id);  }  public int delMessage(String id) {    return mapper.deleteByPrimaryKey(id);  }}

APPMessageController.java

package com.example.demo.controller;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.RequestBody;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.RestController;import com.example.demo.bean.AppMessage;import com.example.demo.service.AppMessageService;@RestController@RequestMapping("/appmessage")public class APPMessageController {  @Autowired  private AppMessageService service;  @RequestMapping("/getThree")  public List<AppMessage> getThreeFORMessage(){        List<AppMessage> list = service.getMessage();        return list;  }    @RequestMapping("/getAll")  public List<AppMessage> getAllMessage(){        List<AppMessage> list = service.getAllMessage();    int num = list.size();    if(null!=list && num>3){      for (int i = 0; i < num-3; i++) {        list.remove(0);      }    }    return list;  }  @RequestMapping("/getByID")  public List<AppMessage> getMessageById(@RequestParam("id") String id){    List<AppMessage> list = service.getMessageById(id);    int num = list.size();    if(null!=list && num>5){      for (int i = 0; i < num-5; i++) {        list.remove(0);      }    }    return list;  }    @RequestMapping(value = "/add",method = RequestMethod.POST)  // 或者采用@PostMapping("/add")方法,更加节省代码的编写量  public int addMessage(@RequestBody AppMessage appMessage){    return service.addMessage(appMessage);  }    @RequestMapping(value="/delMessageById",method=RequestMethod.POST)   // 或者采用@PostMapping("/delMessageById")方法,更加节省代码的编写量  public int delMessageById(@RequestParam("id") String id){      return service.delMessage(id);  }}

问题描述?

SpringBoot扫描包提示找不到mapper的问题,异常信息:
Consider defining a bean of type in your configuration

分析原因

Spring Boot项目的Bean装配默认规则是根据Application类所在的包位置从上往下扫描,“Application类”是指Spring Boot项目入口类。如果Application类所在的包为:com.yoodb.blog,则只会扫描com.yoodb.blog包及其所有子包,如果service或dao所在包不在com.yoodb.blog及其子包下,则不会被扫描。

解决方法

方式一:使用注解@ComponentScan(value=”com.yoodb.blog”),其中,com.yoodb.blog为包路径。
方式二:将启动类Application放在上一级包中,注意的是Application启动类必须要保证在包的根目录下。

关于“Spring Boo如何t连接MySql数据库”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: Spring Boo如何t连接MySql数据库

本文链接: https://www.lsjlt.com/news/222013.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Spring Boo如何t连接MySql数据库
    这篇文章将为大家详细讲解有关Spring Boo如何t连接MySql数据库,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Spring Boot有两种方法与数据库建立连接,一种是使用JdbcTemplate...
    99+
    2023-05-30
    spring boot mysql数据库
  • Spring如何连接Mysql数据库
    这篇文章主要介绍了Spring如何连接Mysql数据库,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、创建一个Maven项目二、导入坐标&emsp;在pom.xml...
    99+
    2023-06-29
  • 数据库连接:Can`t connect to MySQL server on “localhost“(10038)
    在‘’命令提示符‘’下,或者是使用 navicat 时,出现“Can`t connect to MySQL server on "localhost”情况,多半是因为MySQL服务没有进行启动,被关闭运行了;  操作步骤: 此电脑——右击...
    99+
    2023-10-26
    数据库 服务器 运维
  • Spring连接Mysql数据库全过程
    目录Spring连接Mysql数据库创建一个Maven项目导入坐标托管DataSource类测试Spring和Mysql数据库的连接及测试--Jdbc创建Maven Web 的jav...
    99+
    2022-11-21
    Spring连接Mysql Spring连接Mysql数据库 连接Mysql数据库
  • mysql如何连接数据库
    本篇内容主要讲解“mysql如何连接数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql如何连接数据库”吧! mysql连...
    99+
    2023-01-31
    mysql 数据库
  • Spring连接Mysql数据库的实现步骤
    目录一、创建一个Maven项目二、导入坐标三、托管DataSource类四、测试一、创建一个Maven项目 二、导入坐标  在pom.xml加入如下坐标,并且点击右上角刷...
    99+
    2022-11-13
  • C#如何连接MySQL数据库
    本文章是建立在已经安装MySQL数据库的前提,默认安装在C:\Program Files (x86)\MySQL,建议在安装时选中Connector.NET 6.9的安装,里面有MySQL与C#连接的动态链接库。  ...
    99+
    2022-05-24
    c# mysql c# 连接数据库 c# 连接MySQL数据库
  • java如何连接mysql数据库
    这篇文章主要介绍java如何连接mysql数据库,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!java如何连接mysql数据库?1. 下载安装eclipse软件,以及准备“...
    99+
    2022-10-18
  • eclipse如何连接mysql数据库
    这期内容当中小编将会给大家带来有关eclipse如何连接mysql数据库,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。eclipse如何连接mysql数据库1.进入ecl...
    99+
    2022-10-18
  • JSP如何连接mysql数据库
    本篇内容主要讲解“JSP如何连接mysql数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JSP如何连接mysql数据库”吧! ...
    99+
    2022-10-18
  • Golang如何连接MySQL数据库
    本篇内容主要讲解“Golang如何连接MySQL数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Golang如何连接MySQL数据库”吧!Go原生就支持连接...
    99+
    2022-10-18
  • nodejs如何连接mysql数据库
    这篇文章主要介绍nodejs如何连接mysql数据库,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!本篇文章给大家介绍一下使用nodejs连接mysql数据库的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大...
    99+
    2023-06-14
  • SPSS如何连接mysql数据库
    本篇内容介绍了“SPSS如何连接mysql数据库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!安装MySQL ODBC驱动官方说法:MySQ...
    99+
    2023-07-05
  • mysql 连接数据库
    1、首先启动mysql 并链接数据 小意思吧!都会了是吧    mysql -uroot -p //连接数据    net start mysql /...
    99+
    2022-05-21
    连接数据库 mysql
  • 如何查看mysql数据库连接数
    要查看MySQL数据库的连接数,可以使用以下方法:1. 使用MySQL的命令行客户端登录到数据库服务器:```mysql -u us...
    99+
    2023-08-09
    mysql数据库
  • 如何远程连接mysql数据库
    这期内容当中小编将会给大家带来有关如何远程连接mysql数据库,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。如何远程连接mysql数据库我们可以使用navicat来远程连...
    99+
    2022-10-18
  • Cmd中如何连接MySQL数据库
    Cmd中如何连接MySQL数据库,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、 Mysql命令行连接1、一般对于刚刚安装好...
    99+
    2022-10-18
  • PHP中如何连接MySQL数据库
    本篇内容介绍了“PHP中如何连接MySQL数据库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2023-04-21
    php mysql
  • Node.js 连接 mysql 数据库
    目录 一、安装驱动 二、连接数据库 1、数据库连接的配置信息 数据库连接参数说明 2、封装 mysql 的执行语句 3、后端路由文件  三、数据库操作( CURD ) 1、查询数据 2、插入数据 3、更新数据 4、删除数据 4、获取受影响的...
    99+
    2023-09-09
    mysql 数据库 node.js
  • python连接MySQL数据库
    模块功能:connect()方法 * connect()方法用于连接数据库,返回一个数据库连接对象。如果要连接一个位于host.remote.com服务器上名为fourm的MySQL数据库,连接串可以这样写: ...
    99+
    2023-01-31
    数据库 python MySQL
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作