我正在eclipse中制作一个简单的雇员测试文件。但它显示了一个错误,即无法获取jdbc连接。请帮帮我。
错误是
Could not get JDBC Connection; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Client does not support authentication protocol requested by server; consider upgrading MySQL client
xmlfile是
<?xml version="1.0" encoding="UTF-8"?>
<bean
class="org.springframework.jdbc.datasource.DriverManagerDataSource"
name="dataSource" p:driverClassName="com.mysql.jdbc.Driver"
p:url="jdbc:mysql://localhost/mydb" p:username="root"
p:password="banjit" />
<bean class="org.springframework.jdbc.core.JdbcTemplate"
name="jdbcTemplate" p:dataSource-ref="dataSource" />
java代码是
public class Test {
public static void main(String[] args) {
ApplicationContext context =new ClassPathXmlApplicationContext("com/banjit/spring/springjdbc/refconfig.xml");
JdbcTemplate jdbcTemplate = (JdbcTemplate) context.getBean("jdbcTemplate");
String sql = "insert into employee values (?,?,?)";
int result = jdbcTemplate.update(sql, new Integer(1), "Banjit","Das");
System.out.println("Numbers of records inserted "+result);
}
}
1条答案
按热度按时间eufgjt7s1#
为了解决这个问题,首选的解决方案是将所有客户端程序升级为使用4.1.1或更高版本的客户端库。如果不可能,请使用以下方法之一:
1) 要使用4.1以前版本的客户端程序连接到服务器,请使用仍然具有4.1以前版本的密码的帐户。
2) 为需要使用4.1版之前的客户端程序的每个用户将密码重置为4.1版之前的样式。这可以使用set password语句和old_password()函数完成: