当前位置:编程学习 > JAVA >>

用struts2+spring3+mybatis集成时做了个用户登录的场景在页面上出现了这个错误请各位大神帮忙解决啊!!

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: 
### Error querying database.  Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Access denied for user 'Administrator'@'localhost' (using password: YES))
### The error may exist in com/sl/ibatis/dao/maps/UserMapper.xml
### The error may involve com.sl.ibatis.domain.User.findLoad
### The error occurred while executing a query
### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Access denied for user 'Administrator'@'localhost' (using password: YES))
org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:73)
org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:364)
$Proxy4.selectList(Unknown Source)
org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:194)
com.sl.ibatis.common.dao.impl.DaoSupport.find(DaoSupport.java:89)
com.sl.ibatis.dao.impl.UserDaoImpl.findUsers(UserDaoImpl.java:49)
com.sl.ibatis.service.impl.UserServiceImpl.checkLogin(UserServiceImpl.java:79)
com.sl.ibatis.struts.web.action.UserAction.login(UserAction.java:83)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:450)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:289)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:252)
org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:249)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:249)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:73)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:91)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:252)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:193)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:546)
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91) struts2 spring3 mybatis --------------------编程问答-------------------- 是用的注解么?注解写错了吧?仔细看看下配置的。。 --------------------编程问答-------------------- 好像jdbc的错误。。jdbc的账号密码错误。你用你登录的账号密码登录数据库看看。 --------------------编程问答-------------------- 数据库用户名和密码有问题 --------------------编程问答-------------------- 同意楼上,用户名或者密码出现了问题,还是看看吧 --------------------编程问答-------------------- 数据库连接不上了。驱动啊 ,用户名密码 核对下。 --------------------编程问答-------------------- --------------------编程问答--------------------
引用 2 楼 zengfuqing 的回复:
好像jdbc的错误。。jdbc的账号密码错误。你用你登录的账号密码登录数据库看看。


http://blog.csdn.net/shadowsick/article/details/8903278
可以参考下我博客里的项目实例,相信对你有比较大的帮助,谢谢支持 --------------------编程问答--------------------  Could not get JDBC Connection; JDBC连接问题,用户名、密码、驱动、注解等在检查检查 --------------------编程问答-------------------- 用户名密码或者驱动问题 --------------------编程问答-------------------- Access denied for user 'Administrator'@'localhost' (using password: YES)数据库密码不正确。。 --------------------编程问答-------------------- 分享:

在Struts2 + Sprig2 + myBATIS/iBATIS 项目开发当中,最容易出现的错误和问题

1.    <!-- 配置dataSource数据源 -->
    <bean name="dataSource" 
     class="org.springframework.jdbc.datasource.DriverManagerDataSource">
     <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
     <property name="url" value="jdbc:mysql://127.0.0.1:3306/jinlong"/>
     <property name="username" value="root"/>
     <property name="password" value=""/>
    </bean>

中的dataSource数据源不能名称成dateSource,这是统一命名
中的com.mysql.jdbc.Drive不能写成com.mysql.jdbc.dirver,最后的driver头一个字母要大些
不要忘了引入mysql等数据库JAR包,引入对应的数据库,junit测试时就不会报错

2.    <!-- 配置myBatis框架的salSessionFactory -->
    <bean name="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
     <property name="dataSource" ref="dataSource"/>
     <!-- 引入mybatis配置文件 -->
     <property name="configLocation" value="classpath:config/mybatis/mybatis-config.xml"></property>
    </bean>

中的<property name="configLocation" value="classpath:config/mybatis/mybatis-config.xml"></property>
不能用<constructor-arg name="" ref="">构造方法注入的标签代替
而且,用<property name="" ref="">这个是错误的,不能把value属性换成ref属性
value属性代表的是引入类的值,ref属性代表的是引入类的地址
还有name="configLocation"这个名字是固定的,是固定引入mybatis-config.xml文件的依赖注入标签的名字,不能够随意改变

3.在applicationContext-Dao.xml中引入myBatis框架的DAO接口,需要这样写:
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.jinlong.dao"></property>
<property name="markerInterface" value="com.jinlong.dao.BasicDao"></property>
</bean>

第一条属性是所有DAO接口外面的包地址
<property name="basePackage" value="com.jinlong.dao"></property>
第二条属性是所有DAO接口所继承的BasicDao接口的地址
<property name="markerInterface" value="com.jinlong.dao.BasicDao"></property>

4.在applicationContext-Dao.xml中的Service层的服务类当中注入myBatis框架的DAO接口,需要这样写:
    <bean id="menuService" scope="prototype"
     class="com.jinlong.service.impl.MenuServiceImpl">
     <property name="menuDao" ref="menuDao"/>
    </bean>

<property name="menuDao" ref="menuDao"/>
其中ref直接写name当中命名的DAO的名字就可以了,
因为在applicationContext-Dao.xml当中,已经在
第一条属性假如两人所有DAO接口外面的包地址
<property name="basePackage" value="com.jinlong.dao"></property>

5.在myBatis里面,其他的DAO接口必须要继承一个自定义的持久化接口BasciDao.java这个接口

6.应用myBatis框架insert插入数据时报错Field 'id' doesn't have a default value 
错误可能一,数据库当中的主键id没有设置成自增序列
错误可能二,在object-Mapper.xml类配置文件当中的
<insert parameterType="" resultType="">
</insert>里面,没有加入主键递增的的参数
应该这样写:
<insert id="addMenu" parameterType="Menu" 
useGeneratedKeys="true" keyProperty="menu_id">
insert into
menu(menu_name,menu_url,parent_id,show_order,extend)
values
(#{menuName},#{menuURL,jdbcType=VARCHAR},#{parentId},#{showOrder},#{extend,jdbcType=VARCHAR})
</insert>

其中useGeneratedKeys="true" keyProperty="数据表ID字段"
表示:设置这个序列的主键是递增的序列。
在<insert></insert>标签里加入这两个参数以后,里面的insert语句当中就不要
在出现数据表ID这个字段了。如果有,就会与上面的递增设置产生冲突。

7.在,每个实体Bean和对应的MapperDAO.xml的地址要引用对,地址根式不要写错

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC   
    "-//mybatis.org//DTD Config 3.0//EN"   
    "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<typeAliases>
<typeAlias type="com.jinlong.system.entity.User" alias="Menu"/>
<typeAlias type="com.jinlong.system.entity.Roles" alias="Menu"/>
<typeAlias type="com.jinlong.system.entity.MenuRoles" alias="Menu"/>
<typeAlias type="com.jinlong.system.entity.Menu" alias="Menu"/>
<typeAlias type="com.jinlong.system.entity.Company" alias="Menu"/>
<typeAlias type="com.jinlong.entity.Menu" alias="Menu"/>
</typeAliases>
<mappers>
<mapper resource="config/sqlmap/system/mapper/UserDaoMapper.xml"/>
<mapper resource="config/sqlmap/system/mapper/RolesDaoMapper.xml"/>
<mapper resource="config/sqlmap/system/mapper/MenuRolesDaoMapper.xml"/>
<mapper resource="config/sqlmap/system/mapper/MenuDaoMapper.xml"/>
<mapper resource="config/sqlmap/system/mapper/CompanyDaoMapper.xml"/>
<mapper resource="config/sqlmap/mapper/MenuDaoMapper.xml"/>
</mappers>
</configuration> 

这是范例,看你好像就是这个地方出了问题!!!
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,