Mybatis-Spring连接mysql 8.0配置步骤出错的解决方法

本文为大家解决了Mybatis-Spring 连接 MySQL8.0 的配置步骤出错问题,供大家参考,具体内容如下

环境以及配置文件

  • JDBC jar版本 : 8.0.11
  • Mybatis jar版本 : 3.4.6
  • Spring jar版本 : 4.3.18
  • Mybatis-Spring jar版本 : 1.3.1
  • 配置信息文件 : db.properties
  • Spring配置文件 : applicationContext.xml

测试路径如下图

配置db.properties

配置db.properties中填写以下内容

# 驱动名这样写
jdbc.driver=com.mysql.cj.jdbc.Driver
# url这样写
jdbc.url=jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
# 数据库用户名
jdbc.username=root
# 数据密码
jdbc.password=password 

这里有一个错误点, 就是用户名的key用的是username, 这样的话, 在applicationContext.xml中配置数据源时用的是${username}, 这样会导致一个问题, 因为XML的表达式中${username}, 代表电脑环境路径下的username!!! 就是说用的是你电脑的用户名, 不是数据库的用户名!!! 总而言之, 别用username当key名 我用的是jdbc.username.

配置applicationContext.xml

1.在applicationContext.xml中, 引入db.properties 文件.

<context:property-placeholder location="db.properties"/>

2.配置数据源

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
 <property name="driverClassName" value="${jdbc.driver}"/>
 <property name="url" value="${jdbc.url}"/>
 <property name="username" value="${jdbc.username}"/>
 <property name="password" value="${jdbc.password}"/>
</bean>

3.配置 Mybatis 扫描mapper.XML文件

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
 <property name="dataSource" ref="dataSource"/>
 <!-- 写一些数据库的配置, 因为我没用到, 所以用不着 -->
 <!-- <property name="configLocation" value="sqlMapConfig.xml"/> -->
 <property name="mapperLocations" value="com/dao/mapper/*.xml"/>
</bean>

4.扫描全部dao层接口

<!-- 扫描所有dao -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
 <property name="basePackage" value="com.dao" />
 <!-- 单数据源可以不写sqlSessionFactoryBeanName属性 -->
 <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
</bean>

配置dao 层接口与 mapper文件

dao接口

public interface UserDao {
 public List<User> selAll();
}

mapperXML文件

<mapper namespace="com.dao.UserDao">
 <select id="selAll" resultType="com.entity.User">
  select * from user
 </select>
</mapper>

测试

@Test
public void selAll() {
 ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
 UserDao userDao = context.getBean(UserDao.class);
 List<User> list = userDao.selAll();
 System.out.println(list);
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • spring boot整合mybatis使用c3p0数据源连接mysql

    刚刚接触springboot,对很多东西都不熟悉,例如,它的注解方式,他的配置方式等:听说它很牛逼,所以就尝试着去学习.在基本熟悉springboot的第一个程序之后.想到当时spring整合mybatis时使用了数据源连接数据库,所以自己也想尝试使用c3p0连接数据库.所以就有了以下的内容: 首先第一步,创建maven项目导入包: pom.xml <parent> <groupId>org.springframework.boot</groupId> <arti

  • SpringBoot连接MYSQL数据库并使用JPA进行操作

    今天给大家介绍一下如何SpringBoot中连接Mysql数据库,并使用JPA进行数据库的相关操作. 步骤一:在pom.xml文件中添加MYSQl和JPA的相关Jar包依赖,具体添加位置在dependencies中,具体添加的内容如下所示. <!--数据库相关配置--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-

  • Spring boot连接MySQL 8.0可能出现的问题

    前言 在学习任何一个后端技术,如果不让数据库参与进来,那只能说在学习过程中都不算完整的. 以前用的是5.7版本的MySQL,在学习实践Springboot的时候顺带升级了一下8.0,遇到了一些坑,在这记录一下,有碰到同类问题的童鞋需要自取. 下面话不多说了,来一起看看详细的介绍吧 1.使用 navicat连接发现报错1251- Client does not support authentication protocol 错误 这个笔者查询资料发现是新版本的加密规则变了,在mysql8之后,加密

  • docker连接spring boot和mysql容器方法介绍

    在之前使用docker部署运行了Spring Boot的小例子,但是没有使用数据库.在这一篇中,介绍docker如何启动mysql容器,以及如何将Spring Boot容器与mysql容器连接起来运行. docker基本命令 首先熟悉一下在操作过程中常用的docker基本命令: docker images:列出所有docker镜像 docker ps:列出所有运行中的容器,-a参数可以列出所有容器,包括停止的 docker stop container_id:停止容器 docker start

  • Spring Boot 与 Kotlin 使用JdbcTemplate连接MySQL数据库的方法

    之前介绍了一些Web层的例子,包括构建RESTful API.使用Thymeleaf模板引擎渲染Web视图,但是这些内容还不足以构建一个动态的应用.通常我们做App也好,做Web应用也好,都需要内容,而内容通常存储于各种类型的数据库,服务端在接收到访问请求之后需要访问数据库获取并处理成展现给用户使用的数据形式. 本文介绍在Spring Boot基础下配置数据源和通过 JdbcTemplate 编写数据访问的示例. 数据源配置 在我们访问数据库的时候,需要先配置一个数据源,下面分别介绍一下几种不同

  • Spring Boot高级教程之Spring Boot连接MySql数据库

    Spring Boot可以大大简化持久化任务,几乎不需要写SQL语句,在之前章节"Spring Boot 构建框架"中我们新建了一个Spring Boot应用程序,本章在原有的工程中与数据库建立连接. Spring Boot有两种方法与数据库建立连接,一种是使用JdbcTemplate,另一种集成Mybatis,下面分别为大家介绍一下如何集成和使用这两种方式. 1. 使用JdbcTemplate <dependency> <groupId>mysql</g

  • spring boot配置MySQL数据库连接、Hikari连接池和Mybatis的简单配置方法

    此方法为极简配置,支持MySQL数据库多库连接.支持Hikari连接池.支持MyBatis(包括Dao类和xml文件位置的配置). 1.pom.xml中引入依赖: <!-- Begin of DB related --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId>

  • Mybatis-Spring连接mysql 8.0配置步骤出错的解决方法

    本文为大家解决了Mybatis-Spring 连接 MySQL8.0 的配置步骤出错问题,供大家参考,具体内容如下 环境以及配置文件 JDBC jar版本 : 8.0.11 Mybatis jar版本 : 3.4.6 Spring jar版本 : 4.3.18 Mybatis-Spring jar版本 : 1.3.1 配置信息文件 : db.properties Spring配置文件 : applicationContext.xml 测试路径如下图 配置db.properties 配置db.pr

  • Spring连接Mysql数据库的实现步骤

    目录 一.创建一个Maven项目 二.导入坐标 三.托管DataSource类 四.测试 一.创建一个Maven项目 二.导入坐标  在pom.xml加入如下坐标,并且点击右上角刷新. <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.3.

  • MySQL 5.0.16乱码问题的解决方法

    怎样解决MySQL 5 0 16的乱码问题? 本文给出了解决方法: 问:怎样解决MySQL 5.0.16的乱码问题? 答:MySQL 5.0.16的乱码问题可以用下面的方法解决: 1.设置phpMyAdmin Language:Chinese simplified (zh-utf-8) MySQL 字符集:UTF-8 Unicode (utf8) MySQL 连接校对 gbk_chinese_ci 2.创建数据库时 整理设置成 gbk_chinese_ci 3.用SQL建立表中 ENGINE=M

  • php后台经常提示无法连接mysql 刷新后又可以访问的解决方法

    网上一共提供了两种方法: 第一种:卸载KB967723补丁登录服务器,进入控制面板 - 添加和删除程序 - (勾选上方的"显示更新")在里面可以看到更新的KB967723这个补丁,然后就想卸载普通软件一样卸载,卸载中会提示你,如果卸载可能导致程序运行出错,没关系,选择"是",继续卸载.卸载完成后重启数据库服务器. 第二种:修改注册表本方法是微软给出的修改注册表修复该Bug的的方法,原因是默认最大的临时 TCP 端口的数是 5000 适用于一节中包含的产品中. 在这些

  • dubbo中zookeeper请求超时问题:mybatis+spring连接mysql8.0.15的配置

    这两天准备复习一下java,所以写一个采用dubbo的商场项目练练手,却卡第一个测试上,启动provider服务和Consumer服务,请求接口却始终报zookeeper请求超时错误(dubbo+zookeeper服务端重复调用三次),经过排查,我的问题是出在dao层与数据库连接的问题上(而且provider方还不报错,我也是R-此处省略一万字,其他都是正常的,如果你不是出在dao层连接数据库的问题,此文可能对你帮助不大).dao层采用mybatis+spring连接mysql数据库版本8.0.

  • 解决Navicat Premium 连接 MySQL 8.0 报错"1251"的问题分析

    人闲太久,努力一下就以为是在拼命. 一.问题 Navicat Premium 连接 MySQL 8.0 报错: 1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client 二.原因 MySQL 8.0 改变了密码认证方式. 在 MySQL 8.0 之前版本的密码认证方式为: mysql_native_password 为了提供更安全的密码加密

  • SpringBoot图文并茂详解如何引入mybatis与连接Mysql数据库

    目录 创建一个SpringBoot项目 创建mysql表 编写实体类 配置Mapper 感叹 创建一个SpringBoot项目 其他不赘叙了,引入MyBaties.MySql依赖 创建mysql表 CREATE TABLE sp_users( `id` INT PRIMARY KEY, `username` VARCHAR(30), `age` INT ); 刚开始一直出现这个错误,弄的我怀疑人生,结果是最后一行不能加',' ,物是人非. INSERT INTO sp_users(id,`use

  • Java连接MYSQL数据库的详细步骤

    本文主要以MySQL为例讲下Java如何连接到数据库的,具体内容如下 当然,首先要安装有JDK(一般是JDK1.5.X).然后安装MySQL,这些都比较简单,具体过程就不说了.配置好这两个环境后,下载JDBC驱动mysql-connector-java-5.0.5.zip(这个是最新版的).然后将其解压缩到任一目录.我是解压到D盘,然后将其目录下的mysql-connector-java-5.0.5-bin.jar加到classpath里,具体如下:"我的电脑"-> "

  • JMeter连接Mysql数据库的实现步骤

    JMeter连接mysql数据库是很方便的,下面就演示一下具体的操作. 首先,在本地安装好mysql服务器,建立库和表,并准备数据以供测试使用. 接下来,在[测试计划]中添加JDBC驱动,即下载mysql-connector-bin.jar并添加到classpath中.如下图所示: 当然,如果将这个jar包直接放在JMeter安装目录的lib文件夹中,就无需在[测试计划]中添加了. 当上面的准备工作完成后,就可以在线程组下添加一个[配置元件]–[JDBC Connection Configura

  • Spring连接Mysql数据库全过程

    目录 Spring连接Mysql数据库 创建一个Maven项目 导入坐标 托管DataSource类 测试 Spring和Mysql数据库的连接及测试--Jdbc 创建Maven Web 的java工程 Spring连接Mysql数据库 创建一个Maven项目 导入坐标 在pom.xml加入如下坐标,并且点击右上角刷新. import org.springframework.context.annotation.Bean; import org.springframework.context.a

随机推荐