java链接sqlsever实现某系统的登录注册

您所在的位置:网站首页 java编写注册登录界面 java链接sqlsever实现某系统的登录注册

java链接sqlsever实现某系统的登录注册

#java链接sqlsever实现某系统的登录注册| 来源: 网络整理| 查看: 265

大一计算机课的结课翻转任务是链接数据库,完成某系统的登录注册。

1.下载驱动,导入、加载驱动类 2.建立连接 3.发送sql语句 4.接收返回结果

java链接sqlsever的话需要jdbc驱动类。 我们首先下载jdbc驱动类,这里是笔者用的驱动类分享, 分享码是 yjh9 jdbc 下载之后解压备用

笔者选择Eclipse来编写, 首先新创一个project,然后右键Package Explorer中新建的文件。 选择Build Path 然后Add External Archivers to Java Built Path;如图: 在这里插入图片描述 选择准备好的jdbc驱动类加入(下图2个都要加入)。 在这里插入图片描述 然后就到了正片代码实现。打开我们的ssms,打开我们的sql用户登录。

右键服务器名称选择属性 在这里插入图片描述 点击安全性,大块sql server 和Windows身份验证模式; 在这里插入图片描述 在这里插入图片描述 选择服务器下的安全性查看登录名,双击sa 在这里插入图片描述 设置你想要的密码. 新建查询,创建一个数据库,如果有就跳过这一步, 这里我创建了一个名为 s 的数据库.

打开sqlsever配置管理器,点击sql网络配置,点击TCP/IP 在这里插入图片描述 将ip地址全部改为127.0.0.1,TCP端口改为1433.然后重启sql 这里的ip地址其实就是本机,端口号端口号可以不为1433,但注意不要与其他程序端口冲突,且后面贴下的源码中有一处需要更改,具体可以看注释.

在这里插入图片描述

到这里前期准备工作就做好了,我们打开Eclipse编写代码。

package ssmstest; import java.sql.*; import java.util.Scanner; public class ssmstest { public static Connection dbConn; public static Statement stmt; public static void main(String[] args) { //加载驱动类,连接数据库 getjdbc(); getsqlconnection(); createtable(); mainui(); } //创建表 public static boolean createtable() { try { stmt=dbConn.createStatement(); //判断是否存在目标表,若无就创建一个 int i=stmt.executeUpdate("select count(1) from sys.objects where name = 'count_pwd'"); if(i!=1) { stmt.executeUpdate("create table count_pwd (countname varchar(10) UNIQUE not null,countpwd varchar(10) not null);"); } } catch(SQLException e){} return false; } //加载jdbc驱动类 public static boolean getjdbc() { try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); return true; } catch(Exception e) { return false; } } //连接数据库 public static boolean getsqlconnection() { try { //注意这里的1433是端口号,若你在上面的操作中更改过,请更改为你更改后的端口 dbConn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=s","sa","123456789"); return true; } catch(SQLException e) { return false; } } //主界面 public static void mainui() { while(true) { System.out.println("1.已有账号,直接登录\n2.无账号,注册"); Scanner in=new Scanner(System.in); int operation=in.nextInt(); if(operation==1) { logon(); break; } else if(operation==2) { registernew(); break; } else { System.out.println("错误操作!请重新输入!"); } } } //注册账户 public static boolean registernew() { while(true) { System.out.println("输入您想创建的账户:"); Scanner scanner=new Scanner(System.in); String count = scanner.nextLine(); //判断账户是否符合格式 if(count.equals("")) { System.out.println("请输入账户!"); continue; } else if(count.length()>10) { System.out.println("您的账号过长,请选择十位以内的账户!"); continue; } System.out.println("输入您的密码:"); String pwd = scanner.nextLine(); //判断密码是否符合格式 if(pwd.equals("")) { System.out.println("请输入密码!"); continue; } else if(pwd.length()>10) { System.out.println("您的密码过长,请选择十位以内的密码!"); continue; } String values="values("+count+","+""+pwd+")"; try { int i=stmt.executeUpdate("insert into count_pwd(countname,countpwd)" +values); if(i==0) { System.out.println("已存在账户!"); continue; } else { System.out.println("创建成功!"); break; } } catch (SQLException e) {e.printStackTrace();} } mainui(); return true; } //登录界面 public static boolean logon() { while(true) { System.out.println("输入您的账户:"); Scanner scanner=new Scanner(System.in); String count = scanner.nextLine(); //判断账户是否符合格式 if(count.equals("")) { System.out.println("请输入账户!"); continue; } else if(count.length()>10) { System.out.println("您的账号过长,请选择十位以内的账户!"); continue; } System.out.println("输入您的密码:"); String pwd =scanner.nextLine(); //判断密码是否符合格式 if(pwd.equals("")) { System.out.println("请输入密码!"); continue; } else if(pwd.length()>10) { System.out.println("您的密码过长,请选择十位以内的密码!"); continue; } String countname="countname='"+count+"'"; try { ResultSet set = stmt.executeQuery("select countname,countpwd from count_pwd where "+countname); if(set.getRow() System.out.println("账户不存在!"); continue; } if(set.getString(2).equals(pwd)) { System.out.println("登录成功!"); set.close(); stmt.close(); dbConn.close(); break; } else { System.out.println("密码错误!"); } } catch (SQLException e) { e.printStackTrace(); } } return true; } }

有需要的可以直接ctrl c,v。实验一下,注意在 getsqlconnection()这个方法中 s 改为你的数据库的名字,“sa”应该不变,“123456789”改为你刚才设置的密码。 这里仅展示demo解释会在另一篇文章中。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3