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

📄 webdaoimpl.java

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

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

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

public class WebDAOImpl implements WebDAO{

	public boolean insertWebInfo(Web instance){  // 更新网站流量信息
		boolean re = false;
		String query = "";
		instance = searchWeb(instance);
		if(instance!=null){
			System.out.println("issearch:true");
			long maxid = getMaxId();
			instance.setWebid(maxid);
			// 将网站流量在原有基础上加1
			instance.setWebcount(instance.getWebcount()+1);
			query = "update web set webcount = ? where webid = ?";
			Connection conn = DataConnection.getFreeConnection();
			PreparedStatement pstmt = DataConnection.getPreparedStatement(conn,query);
			try{
				pstmt.setLong(1,instance.getWebcount());
				pstmt.setLong(2,instance.getWebid());
				re = DataConnection.execute(pstmt);
			}catch(Exception ex){
				ex.printStackTrace();
			}
			
		}else{
			re = false;
			System.out.println("issearch:false");
		}
		return re; // 返回更新结果
	}
	
	public Web searchWeb(Web instance){ // 查询指定域名的网站信息
		String query = "select * from web where webhost = ?";
		Connection conn = DataConnection.getFreeConnection();
		PreparedStatement pstmt = DataConnection.getPreparedStatement(conn,query);
		ResultSet rs = null;
		try{
			pstmt.setString(1,instance.getWebhost());
			rs = DataConnection.getResult(pstmt);
			if(rs.next()){
				instance.setWebid(rs.getLong("webid"));
				instance.setWebcount(rs.getLong("webcount"));
			}else{
				instance = null;
			}
		}catch(Exception ex){
			ex.printStackTrace();
		}finally{
			DataConnection.closeResultSet(rs);
			DataConnection.closeStatement(pstmt);
		}
		return instance;
	}
	
	public List getWebByMember(Member instance){ // 取得指定用户的网站信息
		List weblist = new ArrayList();
		Web web = null;
		String query = "select * from web where web_memberid = ?";
		Connection conn = DataConnection.getFreeConnection();
		PreparedStatement pstmt = DataConnection.getPreparedStatement(conn,query);
		ResultSet rs = null;
		try{
			pstmt.setLong(1,instance.getMemberid());
			rs = DataConnection.getResult(pstmt);
			while(rs.next()){
				web = new Web();
				web.setWebid(rs.getLong("webid"));
				web.setWebhost(rs.getString("webhost"));
				web.setWebcount(rs.getLong("webcount"));
				web.setWeb_memberid(instance.getMemberid());
				weblist.add(web);
			}
		}catch(Exception ex){
			ex.printStackTrace();
		}
		return weblist;
	}
	
	public synchronized Web insertWeb(Web instance){  // 新增网站信息
		long maxid = getMaxId();
		String query = "insert into web(webid,webhost,webcount,web_memberid) values(?,?,?,?)";
		Connection conn = DataConnection.getFreeConnection();
		PreparedStatement pstmt = DataConnection.getPreparedStatement(conn,query);
		try{
			pstmt.setLong(1,(maxid+1));
			pstmt.setString(2,instance.getWebhost());
			pstmt.setLong(3,instance.getWebcount());
			pstmt.setLong(4,instance.getWeb_memberid());
			if(!DataConnection.execute(pstmt)){
				instance = null;
			}
		}catch(Exception ex){
			ex.printStackTrace();
		}
		return instance;
	}
	
	private long getMaxId(){ // 取得数据表中最大网站ID
		String query = "select max(webid) as maxid from web";
		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 + -