我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Spring Boo如何t连接MySql数据库

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Spring Boo如何t连接MySql数据库

这篇文章将为大家详细讲解有关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数据库”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Spring Boo如何t连接MySql数据库

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

下载Word文档

猜你喜欢

Spring Boo如何t连接MySql数据库

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

Spring如何连接Mysql数据库

这篇文章主要介绍了Spring如何连接Mysql数据库,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、创建一个Maven项目二、导入坐标 在pom.xml加入如下
2023-06-29

mysql如何连接数据库

本篇内容主要讲解“mysql如何连接数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql如何连接数据库”吧!mysql连接数据库的方法:1、通过计算机管理
2023-01-31

Spring连接Mysql数据库全过程

这篇文章主要介绍了Spring连接Mysql数据库全过程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-11-21

nodejs如何连接mysql数据库

这篇文章主要介绍nodejs如何连接mysql数据库,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!本篇文章给大家介绍一下使用nodejs连接mysql数据库的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大
2023-06-14

spark如何连接mysql数据库

在Spark中连接MySQL数据库有两种方式:使用JDBC连接:import org.apache.spark.sql.SparkSessionval spark = SparkSession.builder().appName("MySQ
spark如何连接mysql数据库
2024-05-06

sqoop如何连接mysql数据库

要连接MySQL数据库,可以使用Sqoop提供的以下命令:导入数据到HDFS:sqoop import --connect jdbc:mysql://hostname:port/database --username your_userna
sqoop如何连接mysql数据库
2024-04-22

SPSS如何连接mysql数据库

本篇内容介绍了“SPSS如何连接mysql数据库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!安装MySQL ODBC驱动官方说法:MySQ
2023-07-05

C#如何连接MySQL数据库

本文章是建立在已经安装MySQL数据库的前提,默认安装在C:\Program Files (x86)\MySQL,建议在安装时选中Connector.NET 6.9的安装,里面有MySQL与C#连接的动态链接库。帮助文档C:\Program
2022-05-24

pandas如何连接mysql数据库

Pandas提供了一个read_sql方法来连接和从MySQL数据库中读取数据。首先,您需要安装MySQL的Python驱动程序(例如pymysql),然后使用以下代码连接到MySQL数据库并读取数据:import pandas as p
pandas如何连接mysql数据库
2024-05-06

jsp中如何连接mysql数据库

在JSP中连接MySQL数据库,通常使用JDBC(Java Database Connectivity)来实现。以下是连接MySQL数据库的步骤:1、首先,确保你已经下载并安装了MySQL数据库,并且已经创建了一个数据库和表格。2、在你
jsp中如何连接mysql数据库
2024-04-22

PHP中如何连接MySQL数据库

本篇内容介绍了“PHP中如何连接MySQL数据库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!mysqli 连
2023-04-21

mysql数据库连接数如何设置

MySQL数据库连接数可以通过修改配置文件中的max_connections参数来设置。这参数控制着数据库实例所允许的最大同时连接数。要修改这个参数,可以按照以下步骤进行:找到MySQL配置文件my.cnf。这个文件通常位于/etc/mys
mysql数据库连接数如何设置
2024-05-09

编程热搜

目录