mysql登录名与数据库的问题

今天在编写一个用户登录系统的时候,发现总是出现connection获得为空,

部分代码如下所示

   1)这是编写的数据库

     drop database if exists alayang_msg;
    create database alayang_msg;
   use alayang_msg;
   create table t_user(
     id int(10)  primary key auto_increment,
     username varchar(100),
     password varchar(100),
     nickname varchar(100),
     status int(3),
     type int(3)
);


GRANT all on alayang_msg.* to 'jerry'@'localhost' IDENTIFIED by 'jerry123';

    2)这是数据库连接部分

        public static Connection getConnection()
{

String username="jerry";
String password="123";
String url = "jdbc:mysql://localhost:3306/jerry_msg";
Connection con=null;

try {
con=DriverManager.getConnection(url, username, password);
} catch (SQLException e) {
e.printStackTrace();
}
if(con==null)
System.out.println("null");
return con;

         }

  3)这是DAO里的add方法的部分代码

         public void add(User user) {
Connection con=null;
PreparedStatement ps=null;
ResultSet rs=null;
try {
con=DButil.getConnection();
if(con==null)
{
System.out.println("con is null");
}
String sql="select count(*) from t_user where username=?";
ps=con.prepareStatement(sql);
if(ps==null)
{
System.out.println("ps is null");
}

代码调试现象:总是提示我con为空,然后检查程序的逻辑,语法发现都没有错误,最后无奈之下,

就把数据库的登录名给改了,如下所示

GRANT all on alayang_msg.* to 'hehe'@'localhost' IDENTIFIED by '123';

没想到再次运行的时候竟然成功了!!到此时,才恍然发觉,原来在其他的数据库,我以前用过jerry这个名字

,并且密码跟其他的数据库设置的相同,由此导致了错误。

一个登录名只能对应一个数据库。。。。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值