使用数据库进行用户登录验证步骤
- 安装mysql 启动mysql(若端口为3306,则启动成功)
- 安装Navicat 启动Navicat
- 将Navicat与mysql进行连接,建立数据库yychat,创建user表 输入自定义数据。
- 在yychat中添加驱动5. 在StartServer类中修改代码如下:
//使用数据库进行用户身份认证
//1、加载驱动程序
Class.forName(“com.mysql.jdbc.Driver”);
System.out.println(“已经加载了数据库驱动!”);
//2、连接数据库
String url=“jdbc:mysql://127.0.0.1:3306/yychat”;
//中文用户名必须用下面的url
//String url=“jdbc:mysql://127.0.0.1:3306/yychat?useUnicode=true&characterEncoding=UTF-8”; String dbUser=“root”;
String dbPass="";
Connection conn=DriverManager.getConnection(url,dbUser,dbPass);
//3、创建PreparedStatement对象,用来执行SQL语句
String user_Login_Sql=“select * from user where username=? and password=?”; PreparedStatement ptmt=conn.prepareStatement(user_Login_Sql);
ptmt.setString(1, userName);
ptmt.setString(2, passWord);
//4、执行查询,返回结果集
ResultSet rs=ptmt.executeQuery();
//5、根据结果集来判断是否能登录
boolean loginSuccess=rs.next();
6. 注释掉FriendList类中的代码:
//if(i==Integer.parseInt(userName)) myFriendLabel[i].setEnabled(true);
//激活自己的图标利用数据表中的好友信息更新好友列表- 新建relation用户关系表
- 在服务器端把好友信息读出来,发送到客户端,更新好友列表
- 在StartServer中添加代码
//从数据库 relation表中读取好友信息来更新好友列表
1.服务器读好友数据出来
String friend_Relation_Sql=“select slaveuser from relation where majoruser=? and relationtype=‘1’”; ptmt=conn.prepareStatement(friend_Relation_Sql);
ptmt.setString(1,userName);
rs=ptmt.executeQuery();
String friendString=" “;
while(rs.next()){
friendString=friendString+rs.getString(“slaveuser”)+” "; } mess.setContent(friendString);
System.out.println(userName+“的全部好友:”+friendString);