⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 memberdaoimpl.java

📁 一个用JSP编写的网站计数器
💻 JAVA
字号:
package com.webcount.dao;

import com.webcount.bean.Member;
import com.webcount.database.*;

import java.sql.*;
public class MemberDAOImpl implements MemberDAO{
	public Member validate(Member instance) { // 验证用户信息
		String query = "select * from member where member_username = ? and member_password = ?";
		 // 取得连接池中的连接
		Connection conn = DataConnection.getFreeConnection();
		//  取得基于query的PreparedStatement
		PreparedStatement pstmt = DataConnection.getPreparedStatement(conn,query);
		ResultSet rs = null;
		try{ // 设置pstmt的条件的值
			pstmt.setString(1,instance.getMemberusername());
			pstmt.setString(2,instance.getMemberpassword());
			//	取得查询结果
			rs = DataConnection.getResult(pstmt);
			if(rs.next()){ // 用户信息存在,即验证成功
				instance.setMemberid(rs.getLong("member_id"));
				System.out.println("success!");
			}else{  // 用户信息不存在,即验证失败
				instance = null;
				System.out.println("failure!");
			}
		}catch(Exception ex){
			ex.printStackTrace();
		}
		// 返回用户信息
		return instance;
	}
	
	//	将用户信息插入到数据库中
	public synchronized Member insertMember(Member instance){
		 // 取得用户ID
		long maxid = getMaxId();
		String query = "insert into member(member_id,member_username,member_password) values(?,?,?)";
		//	取得连接池中的连接
		Connection conn = DataConnection.getFreeConnection();
		//	取得基于query的PreparedStatement
		PreparedStatement pstmt = DataConnection.getPreparedStatement(conn,query);
		try{ // 设置pstmt的条件的值
			pstmt.setLong(1,(maxid+1));
			pstmt.setString(2,instance.getMemberusername());
			pstmt.setString(3,instance.getMemberpassword());
			if(DataConnection.execute(pstmt)){ // 插入成功
				instance.setMemberid(maxid+1);
			}else{ // 插入失败
				instance = null;
			}
		}catch(Exception ex){
			ex.printStackTrace();
		}
		// 返回用户信息
		return instance;
	}
	
	private long getMaxId(){  // 取得用户ID
		String query = "select max(member_id) as maxid from member";
		long maxid = 0;
		Connection conn = DataConnection.getFreeConnection();
		Statement st = DataConnection.getStatement(conn);
		ResultSet rs = DataConnection.getResult(st,query);
		try{
			if(rs.next()){
				maxid = rs.getLong("maxid");
			}
		}catch(Exception ex){
			ex.printStackTrace();
		}
		return maxid;
	} 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -