註冊登陸的方法

package com.zhiyou.dao;
import com.zhiyou.entity.User;
import com.zhiyou.util.BaseDao;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;




public class LoginDao extends BaseDao {
	//新增一個用戶
	public int insertUser() throws Exception {
		int i=0;
		super.getConnection();//創建鏈接
		
		Scanner sc=new Scanner(System.in);
		System.out.println("輸入要添加的用戶名");
		String username=sc.next();
		System.out.println("輸入密碼");
		String password=sc.next();
		/*System.out.println("輸入id");
		int id = Integer.valueOf(sc.next()).intValue();*/
		String sql = "insert into login values('"+username+"','"+password+"')";
		this.st=conn.createStatement();
		i=st.executeUpdate(sql);
		closeAll();
		return i;
	}
	//新增一個用戶
		public int insertUser2(String username,String password) throws Exception {
			int i=0;
			super.getConnection();//創建鏈接
			
			String sql = "insert into login values('"+username+"','"+password+"')";
			this.st=conn.createStatement();
			i=st.executeUpdate(sql);
			closeAll();
			return i;
		}
	
	// 查
	public List<User> getAll() {
		List<User> list = new ArrayList<User>();
		this.getConnection();
		try {
			this.st = conn.createStatement();
			String sql = "select * from login";
			rs=st.executeQuery(sql);
			while(rs.next()) {
				User user = new User();
				user.setUsername(rs.getString("username"));
				user.setPassword(rs.getString("password"));
				list.add(user);
			}
			this.closeAll();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return list;
	}
	// 查 根據輸入的username返回用戶user
	public User getById(String username) throws Exception {
		User user = null;
		this.getConnection();
		// 建立SQL語句
		String sql = "select username,password from login where username='"+ username +"'";
		System.out.println("sql語句:" + sql);
		// 建立執行語句
		this.st = conn.createStatement();
		// 執行SQL語句,返回結果集
		rs = st.executeQuery(sql);
		// 遍歷結果集
		if(rs.next()) {
			user = new User();
			user.setUsername(rs.getString("username")); 
			user.setPassword(rs.getString("password"));
		}
		// 關閉資源
		this.closeAll();
		// 返回對象user
		return user;
	}
	// 刪
	public int deleteDao () throws Exception {
		int j = 0;
		// 得到鏈接
		super.getConnection();
		Scanner sc = new Scanner(System.in);
		System.out.println("輸入要刪除的用戶名");
		String username=sc.next();
		// 建立SQL語句
		String sql = "delete from login where username='"+username+"'";
		// 建立執行語句
		this.st = conn.createStatement();
		// 執行SQL語句,返回結果
		j = st.executeUpdate(sql);
		// 關閉資源
		closeAll();
		// 返回刪除結果
		return j;
	}
	// 改
	public int updateDao() throws Exception {
		int a = 0;
		// 得到鏈接
		super.getConnection();
		
		Scanner sc = new Scanner(System.in);
		System.out.println("修改用戶名輸入:1          修改密碼請輸入:2");
		String num = sc.next();
		if(num != null && num.equals("1")) {
			System.out.println("輸入要修改姓名的用戶名");
			String username1 = sc.next();
			System.out.println("輸入新的用戶名");
			String username2 = sc.next();
			// SQL語句
			String sql = "update login set username='"+username2+"' where username='"+username1+"' ";
			// 得到執行語句
			this.st = conn.createStatement();
			// 執行修改用戶名語句
			int k = st.executeUpdate(sql);
			a = k;
			// 關閉資源
			closeAll();
		}else if(num != null && num.equals("2")) {
			System.out.println("輸入要修改密碼的用戶名");
			String username1 = sc.next();
			System.out.println("輸入新的密碼");
			String password = sc.next();
			// SQL語句
			String sql = "update login set password='"+password+"' where username='"+username1+"' ";
			// 得到執行語句
			this.st = conn.createStatement();
			// 執行修改用戶名語句
			int k = st.executeUpdate(sql);
			a = k;
			// 關閉資源
			closeAll();
		}
		// 返回結果
		return a;
		
	}
	// 登陸
	public User login(String username,String password) {
		User user = null;
		this.getConnection();
		try {
			st=conn.createStatement();
			String sql = "select username,password from login where username='"+username+"' and password='"+ password+"'";
			System.out.println("sql: "+sql);
			rs = st.executeQuery(sql);
			// 遍歷結果集
			if(rs.next()) {
				user = new User();
				user.setUsername(rs.getString("username")); 
				user.setPassword(rs.getString("password"));
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}finally { // 不管是否出現異常,都會執行finally中的代碼
			closeAll();
		}
		return user;
	}
	// 登陸 :使用preparedStatement 避免SQL注入
		public User login2(String username,String password) {
			User user = null;
			this.getConnection();
			try {
				// SQL語句
				String sql = "select username,password from login where username=? and password=?";
				System.out.println("sql: "+sql);
				// 準備執行語句
				ps = conn.prepareStatement(sql);
				// 設置第一個通配符爲username, 至關於 給第一個通配符? 賦值
				ps.setString(1, username);
				// 設置第二個通配符爲password
				ps.setString(2, password);
				// 執行SQL語句,返回結果集
				rs = ps.executeQuery();
				// 遍歷結果集
				if(rs.next()) {
					user = new User();
					user.setUsername(rs.getString("username")); 
					user.setPassword(rs.getString("password"));
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}finally { // 不管是否出現異常,都會執行finally中的代碼
				closeAll();
			}
			return user;
		}
}