JAVA简单链接Oracle数据库,实现注册和登陆的功能(一)

2014-11-24 03:31:35 · 作者: · 浏览: 0
//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;
			
			//判断登陆名是否已经存在
			Statem