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

 更新时间:2019年06月26日 15:26:52   作者:哇咔咔负负得正  
这篇文章主要为大家详细介绍了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);
}

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

相关文章

  • Java并发编程必备之Synchronized关键字深入解析

    Java并发编程必备之Synchronized关键字深入解析

    本文我们深入探索了Java中的Synchronized关键字,包括其互斥性和可重入性的特性,文章详细介绍了Synchronized的三种使用方式:修饰代码块、修饰普通方法和修饰静态方法,感兴趣的朋友一起看看吧
    2025-04-04
  • spring boot实现图片上传到后台的功能(浏览器可直接访问)

    spring boot实现图片上传到后台的功能(浏览器可直接访问)

    这篇文章主要介绍了spring boot实现图片上传到后台的功能(浏览器可直接访问),需要的朋友可以参考下
    2022-04-04
  • Java面向对象基础教学(一)

    Java面向对象基础教学(一)

    这篇文章主要介绍了Java的面相对象编程思想,包括类对象方法和封装继承多态等各个方面的OOP基本要素,非常推荐,需要的朋友可以参考下,希望可以对你有所帮助
    2021-07-07
  • hibernate-validator如何使用校验框架

    hibernate-validator如何使用校验框架

    高效、合理的使用hibernate-validator校验框架可以提高程序的可读性,以及减少不必要的代码逻辑,本文主要介绍了hibernate-validator如何使用校验框架,感兴趣的可以了解一下
    2022-04-04
  • Java多线程提交按照时间顺序获取线程结果详解流程

    Java多线程提交按照时间顺序获取线程结果详解流程

    在工作中是否存在这样的场景,多个线程提交执行,你不想全部线程执行结束了获取结果,而是有线程完成返回结果就获取消费。本文提供该场景的工具类,可以直接用哦
    2021-11-11
  • SonarQube安装、配置与使用教程图解

    SonarQube安装、配置与使用教程图解

    这篇文章主要介绍了SonarQube安装、配置与使用教程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • java基础之Integer与int类型输出示例解析

    java基础之Integer与int类型输出示例解析

    这篇文章主要为大家介绍了java基础之Integer与int类型输出示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • javax.mail.SendFailedException: Sending failed问题原因

    javax.mail.SendFailedException: Sending failed问题原因

    这篇文章主要介绍了javax.mail.SendFailedException: Sending failed问题原因,需要的朋友可以参考下
    2015-05-05
  • java实现短信验证码5分钟有效时间

    java实现短信验证码5分钟有效时间

    这篇文章主要为大家详细介绍了java实现短信验证码5分钟有效时间,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • 浅谈spring中isolation和propagation的用法

    浅谈spring中isolation和propagation的用法

    这篇文章主要介绍了浅谈spring中isolation 和propagation的用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07

最新评论