ssm中,使用Druid连接池来连接mysql数据库报错

ssm中,使用Druid连接池来连接mysql数据库报错

2020-10-05 20:34:29,510 [Druid-ConnectionPool-Create-1383178166] [com.alibaba.druid.pool.DruidDataSource]-[ERROR] create connection SQLException, url: jdbc:mysql://127.0.0.1:3306/ssm?serverTimezone=Asia/Shanghai&characterEncoding=utf8, errorCode 1045, state 28000
java.sql.SQLException: Access denied for user ‘皮乾å�¤’@‘localhost’ (using password: YES)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:835)
at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:455)
at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:240)
at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:199)
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1513)
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1578)
at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2466)

我使用的是mysql8.0版本的数据库,也很懊恼出现了那么多问题。
在其他博客上搜索都说要让你在mysql的my.ini文件中修改添加时间参数之类的,以防止数据库连接超时,还有的是直接让mysql跳出权限设置,我当时也使用了这些方法,但是都没啥子用。我也很纳闷是不是自己的数据库url写错了,我下意识地去看自己地驱动是不是8.0版本,自己地driverClassName是不是没有写成com.mysql.cj.jdbc.Driver。
在排除这些问题之后,我搜索了连接池的属性,看看有没有什么启发
在这里插入图片描述
这里是三大连接池的参数使用,如果不按照规范设置参数名就会出错,所以当时我也是按部就班的把Druid中用户名参数设置成了username,可是容易忽略的是我们自己的电脑系统中也存在着一个username属性,这就在运行工程之中,两者产生了冲突,从而导致以上的错误。最终我把jdbc.properties中的用户名设置成了user,而没有用username
在这里插入图片描述
在spring里边配置数据源时,把属性参数改为${user}就可以了!
在这里插入图片描述
以此就很好的解决了这个问题,实现了ssm的初步整合。

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
【资源说明】 1、基于SSM+VUE+mysql的 B2C 在线电商项目源码+项目说明.zip 2、该资源包括项目的全部源码,下载可以直接使用! 3、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 4、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 基于SSM+VUE+mysql的 B2C 在线电商项目源码+项目说明.zip ## YMall ## 开发环境 - 操作系统:Windows 10 Enterprise - 开发工具:Intellij IDEA - 数据库MySQL 8.0.13 - Java SDK:Oracle JDK 1.8.152 ## 项目管理工具 - 项目构建:Maven - 代码管理:Git ## 后台主要技术栈 - 核心框架:Spring + Spring MVC + MyBatis - 数据库连接池:Alibaba Druid - 数据库缓存:Redis - 接口文档引擎:Swagger2 RESTful 风格 API 文档生成 - 全文检索引擎:Elasticsearch - 系统任务调度:Quartz ## 前后分离 - 前端框架:NodeJS + Vue + Axios - 前端模板:ElementUI ## 项目截图 ### YMall 商城前台 - 首页 ![](https://yuu-blog.oss-cn-shenzhen.aliyuncs.com/首页.png) ![](https://yuu-blog.oss-cn-shenzhen.aliyuncs.com/首页-1.png) ![](https://yuu-blog.oss-cn-shenzhen.aliyuncs.com/首页-2.png) - 分类商品页 ![](https://yuu-blog.oss-cn-shenzhen.aliyuncs.com/分类商品页.png) - 商品详情页 ![](https://yuu-blog.oss-cn-shenzhen.aliyuncs.com/商品详情页-1.png) ![](https://yuu-blog.oss-cn-shenzhen.aliyuncs.com/商品详情页-2.png) - 购物车 ![](https://yuu-blog.oss-cn-shenzhen.aliyuncs.com/购物车.png) - 下单 ![](https://yuu-blog.oss-cn-shenzhen.aliyuncs.com/下单-1.png) ![](https://yuu-blog.oss-cn-shenzhen.aliyuncs.com/下单-2.png) - 支付 ![](https://yuu-blog.oss-cn-shenzhen.aliyuncs.com/支付-1.png) ![](https://yuu-blog.oss-cn-shenzhen.aliyuncs.com/支付-2.png) - 会员心-我的订单 ![](https://yuu-blog.oss-cn-shenzhen.aliyuncs.com/会员心-1.png) ![](https://yuu-blog.oss-cn-shenzhen.aliyuncs.com/会员心-1-1.png) - 会员心-账号资料 ![](https://yuu-blog.oss-cn-shenzhen.aliyuncs.com/会员心-2.png) - 会员心-修改地址 ![](https://yuu-blog.oss-cn-shenzhen.aliyuncs.com/会员心-3.png) - 注册 ![](https://yuu-blog.oss-cn-shenzhen.aliyuncs.com/注册.png) - 登录 ![](https://yuu-blog.oss-cn-shenzhen.aliyuncs.com/登录.png) - 忘记密码 ![](https://yuu-blog.oss-cn-shenzhen.aliyuncs.com/忘记密码.png) ### YMall 商城后台 - 首页 ![](https://yuu-blog.oss-cn-shenzhen.aliyuncs.com/后台首页.png) ## 项目部署 ### 1. 运行项目所需环境 - JDK 1.8 - IDEA - MySQL 5.5 以上 - Tomc
SSM(Spring + SpringMVC + MyBatis)是一种常用的Java Web开发框架,其MyBatis是一种优秀的持久层框架,可以用来连接和访问数据库。 下面是连接和访问数据库的步骤: 1. 引入MyBatis的依赖,可以在Maven添加以下依赖: ```xml <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.x.x</version> </dependency> ``` 2. 配置数据源,可以在Spring的配置文件配置数据源,例如使用Druid连接池: ```xml <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close"> <property name="url" value="jdbc:mysql://localhost:3306/test"/> <property name="username" value="root"/> <property name="password" value="123456"/> </bean> ``` 3. 配置MyBatis的SqlSessionFactory,可以使用Spring提供的SqlSessionFactoryBean: ```xml <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> </bean> ``` 4. 配置MyBatis的Mapper,可以使用MapperScannerConfigurer: ```xml <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.example.mapper"/> </bean> ``` 其,`com.example.mapper`是Mapper接口所在的包。 5. 编写Mapper接口和Mapper.xml文件,例如: ```java public interface UserMapper { User selectUserById(int id); } ``` ```xml <mapper namespace="com.example.mapper.UserMapper"> <select id="selectUserById" resultType="com.example.entity.User"> select * from user where id = #{id} </select> </mapper> ``` 6. 在Service调用Mapper接口,例如: ```java @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; public User getUserById(int id) { return userMapper.selectUserById(id); } } ``` 以上就是SSM连接和访问数据库的基本步骤。当然,在实际开发还需要处理事务、异常等问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值