经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » MyBatis » 查看文章
Mybatis-Spring连接mysql 8.0配置步骤出错的解决方法
来源:jb51  时间:2019/6/27 9:12:05  对本文有异议

本文为大家解决了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中填写以下内容

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

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

配置applicationContext.xml

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

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

2.配置数据源

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

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

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

4.扫描全部dao层接口

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

配置dao 层接口与 mapper文件

dao接口

  1. public interface UserDao {
  2. public List<User> selAll();
  3. }

mapperXML文件

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

测试

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

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

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号