怎么实现java和数据库的链接_JAVA简单链接Oracle数据库,实现注册和登陆的功能

//User 用户的基本信息,也是USERINFO表中的3个列

package 登陆判断;

public class User {

private String name;

private String loginname;

private String loginpsw;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getLoginname() {

return loginname;

}

public void setLoginname(String loginname) {

this.loginname = loginname;

}

public String getLoginpsw() {

return loginpsw;

}

public void setLoginpsw(String loginpsw) {

this.loginpsw = loginpsw;

}

}//用于注册和登陆的小小代码块

package 登陆判断;

import java.util.Scanner;

public class In {

public static User getUser(){

User u = new User();

Scanner sc = new Scanner(System.in);

System.out.println("请输入登陆名");

u.setLoginname(sc.nextLine());

System.out.println("请输入密码");

u.setLoginpsw(sc.nextLine());

return u;

}

public static User registerUser(){

User u = new User();

Scanner sc = new Scanner(System.in);

System.out.println("请注册用户名名");

u.setName(sc.nextLine());

System.out.println("请注册登陆名");

u.setLoginname(sc.nextLine());

System.out.println("请注册密码");

u.setLoginpsw(sc.nextLine());

return u;

}

}

//登陆时的检查,判断登陆名和密码是否正确,正确则返回 用户名

package 登陆判断;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

public class Check {

public static void checkUser(User u)

{

try {

Class.forName("oracle.jdbc.driver.OracleDriver");

} catch (ClassNotFoundException e) {

e.printStackTrace();

}

String url = "jdbc:oracle:thin:@localhost:1521:orcl";

String user = "scott";

String password = "tiger";

Connection conn = null;

ResultSet rs = null;

PreparedStatement pst = null;

String sql = "Select name from USERINFO where loginname = ? and loginpsw = ? ";

try {

conn = DriverManager.getConnection(url, user, password);

pst = conn.prepareStatement(sql);

pst.setString(1, u.getLoginname());

pst.setString(2,u.getLoginpsw());

rs = pst.executeQuery();

while(rs.next()){

u.setName(rs.getString(1));

}

} catch (SQLException e) {

e.printStackTrace();

}finally{

try {

rs.close();

pst.close();

conn.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

if(u.getName() == null || u.getName().isEmpty()){

System.out.println("登陆失败");

}else{

System.out.println("欢迎"+u.getName()+"登陆");

}

}

}

//注册界面,要判断 登陆名是否有重复,有重复则注册失败。有点小疑问,已用注释标出来

package 登陆判断;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

public class Register {

public static void registUser(User u){

try {

Class.forName("oracle.jdbc.driver.OracleDriver");

} catch (ClassNotFoundException e) {

e.printStackTrace();

}

String url = "jdbc:oracle:thin:@localhost:1521:orcl";

String user = "scott";

String password = "tiger";

Connection conn = null;

String sql = "Insert Into USERINFO values(?,?,?)";

PreparedStatement pst = null;

//判断登陆名是否已经存在

Statement s = null;

ResultSet rs = null;

String sql_ck = "Select LOGINNAME FROM USERINFO";

try {

conn = DriverManager.getConnection(url, user, password);

pst = conn.prepareStatement(sql);

pst.setString(1, u.getName());

pst.setString(2, u.getLoginname());

pst.setString(3, u.getLoginpsw());

//判断登陆名是否已经存在

s = conn.createStatement();

rs = s.executeQuery(sql_ck);

while(rs.next()){//为什么用 rs.getString(2)会提示 无效的索引呢

if( rs.getString("LOGINNAME").equals(u.getLoginname()) ){

System.out.println("登陆名已经存在,注册失败");

break;

}else{

pst.executeUpdate();

System.out.println("注册成功");

break;

}

}

} catch (SQLException e) {

e.printStackTrace();

}finally{

try {

rs.close();

pst.close();

s.close();

conn.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

}

}

//main界面//

//数据库中表的结构式这样

//name(用户名,用于显示),

//loginname(登录名,即登陆时输入的ID)

//loginpsw(登陆时输入的密码)

package 登陆判断;

import java.util.Scanner;

public class Test {

public static void main(String[] args) {

int chos = 0;

Scanner sc = new Scanner(System.in);

System.out.println("\t\t登陆请按1\t\t注册请按2");

chos = sc.nextInt();

switch(chos){

case 1: Check.checkUser(In.getUser());break;

case 2: Register.registUser(In.registerUser());break;

default: System.out.println("请输入正确的选择");break;

}

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/498642.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI在行动:改变科学界的人工智能

来源:世界科学概要:社交媒体拥有数以亿计的用户,他们每年发布数以千亿计的微博和帖子,这将社会科学推向了大数据时代。人工智能“知道”星系应该是什么样的,它把一张模糊的图像(左)变成了一张清…

java web js加版本号_[Java教程]js 比较版本号(一)

[Java教程]js 比较版本号(一)0 2016-07-03 15:00:13最近群了有人问如何比较版本号,我好奇的试了一下。比较版本号,怎么办?懒人的方法是借鉴,先查网上的资料,看看有木有直接的帮过来的。而且直接便捷的好像在茫茫"…

麦肯锡全球调研160个案例,发布5个行业34个AI应用场景

来源:全球人工智能概要:“我觉得不行!”;“我觉得可以!”这正是现在大家看待AI的两种态度。“我觉得不行!”;“我觉得可以!”这正是现在大家看待AI的两种态度。有人觉得现在去谈人工…

让计算机拥有一双眼睛,人工智能科学家已经努力了半个世纪

来源:科技行者概要:计算机算法可以从面相判断一个人的性取向,引发了对隐私、道德、伦理问题的争议。然而回过头去看,在人工智能领域,它是图像识别和机器人视觉的核心部分。最近斯坦福大学一篇论文《Deep neural networ…

php点击验证码,用PHP实现验证码功能

作者:hutuworm 来源:糊涂馋寺牐犇壳埃不少网站为了防止用户利用机器人自动注册、登录、灌水,都采用了验证码技术。所谓验证码,就是将一串随机产生的数字或符号,生成一幅图片,图片里加上一些干扰象素(防止OCR),由用户肉…

业界 | 计算芯片革命来临?英伟达谷歌入局紧逼英特尔

来源:AI科技评论概要:为了能够满足高速增长的计算需求,一些科技巨头们现在正从生物学中寻找灵感。他们正在重新思考电脑的本质,然后建造更像人类大脑的机器:神经系统里要有一个中央脑干,然后把听、说这样的…

php tp框架分页源代码,ThinkPHP3.2框架自带分页功能实现方法示例

本文实例讲述了ThinkPHP3.2框架自带分页功能实现方法。分享给大家供大家参考,具体如下:1.前端-分页代码:{$page}2.创建分页样式:如page.css 并将以下代码复制到该文件中.pages{float: right}.pages a,.pages span {display:inline…

【研究报告】城市云脑,智慧城市2.0产生背后的深层原因,两个重要特征是关键

作者:计算机博士,互联网进化论作者 刘锋到2017年,智慧城市与脑的关键词不断涌现,在互联网云脑的研究基础上,城市云脑形成更为清晰的定义,从2009年智慧地球和智慧城市提出以来,经过8年时间&#…

c# php加解密,PHP和C#可共用的可逆加密算法详解

在一些项目中要求在php中生成加密,然后在asp.net中接受过来的密码再解密,下面和大家分享一个PHP与asp.net C#可共用的可逆加密算法,感兴趣的可以参考参考。php加密算法:class DES{var $key;var $iv; //偏移量function DES($key 1…

机器人也需要拥有属于自己的性格

原作者:STEPH HAY, CAPITAL ONE译者:彭婷概要:建立信任最有效的方法之一就是在你的每一次互动中始终如一地展示你的人格的完整性。现实生活中是如此,在AI中也是如此。对话设计师Mindy Gold曾经设计出一款没有明确名称以及性别的健…

php中英文字符串长度,php 计算中英文混合字符串的长度

php 计算中英文混合字符串的长度echo ccStrLen($str),;echo ccStrLeft($str,3);function ccStrLeft($str,$len) #从左边截取中英文混合字符串{$ascLenstrlen($str); if($ascLen<$len) return $str;$hasCCereg("[xA1-xFE]",$str); #同上$hasAscereg("[x01-x…

IBM Watson 的中国生意

来源&#xff1a;财经杂志概要&#xff1a;鉴于过往&#xff0c;IBM的此次转型更具深意。这家巨头公司此次转型的任务是&#xff0c;业务架构要从软件硬件服务&#xff0c;转变为云认知行业。IBM的这场转型尚未到最终评定是否成功的阶段&#xff0c;但新的业务组合收入如果超过…

java 包含汉字,java判断字符串中是否包含汉字

java判断字符串中是否包含汉字package com.zuidaima.util;/**[email protected] www.zuidaima.com**/public class test {public static void main(String[] args) {String a "中国China";for (int ia.length(); --i>0;) {String b a.substring(i, i1);boolean …

2013-2017:中国 CV(计算机视觉)公司恩仇录

来源&#xff1a;KnowingAI知智概要&#xff1a;这是属于中国 CV&#xff08;计算机视觉&#xff09;公司的五年&#xff0c;这是属于他们的时代。2013 年新广告法还没实行&#xff0c;旷视科技为 Face 写下文案&#xff1a;「最好的人脸识别云计算平台」。2014 年是「格灵深瞳…

git php自动发布,使用 Git Hooks 实现自动部署PHP项目

最近正在寻找一种简便的自动部署代码到服务器的方式&#xff0c;然后就发现了git hooks这个方法&#xff0c;查了一些资料再自己尝试过后&#xff0c;觉得还不错&#xff0c;记录下。什么是git hooks在git上是这么介绍的&#xff1a;和其它版本控制系统一样&#xff0c;Git能在…

matlab读取时间数据,Matlab有关数据库读取及时间项的设定

Matlab有关数据库的读取需下载mysql-connector-java-5.1.26-bin.jar文件放到指定位置&#xff0c;并修改classpath.txt相关文件&#xff0c;具体可网上自行查找。看一下实例&#xff1a;conndatabase(‘photo‘, ‘root‘, ‘123321‘, ‘com.mysql.jdbc.Driver‘, ‘jdbc:mysq…

GAN还有这种操作!谷歌大脑和X实验室利用模拟条件和域适应提高机器抓取效率(附论文)

来源&#xff1a;机器人圈作者&#xff1a;Coogle Brain&#xff0c;Google X概要&#xff1a;相信大家都知道&#xff0c;通过检测和采集带有注释的视觉抓取数据集来训练现代机器学习算法可以说是非常耗时、昂贵的。相信大家都知道&#xff0c;通过检测和采集带有注释的视觉抓…

java gui 打开另一个,java – 从另一个JFrame Gui访问vars

好的,我已根据您的说法对我的代码进行了一些更改.我有3个班&#xff1a;第二类(和第一个GUI)&#xff1a;我有4个JButton – Simulare,CazParticular,Start和HandSelection,一些JLabel和3个JTextField;当我按下HandSelection按钮时,另一个框架会创建不同的内容.第三类(和第二个…

英伟达的雄心:成为AI时代的计算平台

9 月 26 日&#xff0c;NVIDIA英伟达在北京举行GTC大会&#xff0c;NVIDIA 创始人兼首席执行官黄仁勋在演讲中展示了能够加快人工智能大规模采用速度的全新技术&#xff0c;并介绍了为云服务商、电商和智慧城市提供的各项计算平台服务。发布AI 推理软件TensorRT 3&#xff1a;可…

lc filter在matlab哪,基于python实现matlab filter函数过程详解

matlab中的filter函数&#xff1a;y filter(b,a,x)python实现matlab中的filter函数def filter_matlab(b,a,x):y []y.append(b[0] * x[0])for i in range(1,len(x)):y.append(0)for j in range(len(b)):if i > j :y[i] y[i] b[j] * x[i - j ]j 1for l in range(len(b)-1…