亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

jdbcutil.java能分享嗎?

視頻里的jdbcutil有下載地址么?網上看到的都不一樣啊。

正在回答

3 回答

package?com.imooc.page.util;

import?java.io.InputStream;
import?java.sql.Connection;
import?java.sql.DriverManager;
import?java.sql.PreparedStatement;
import?java.sql.ResultSet;
import?java.sql.ResultSetMetaData;
import?java.sql.SQLException;
import?java.util.ArrayList;
import?java.util.HashMap;
import?java.util.List;
import?java.util.Map;
import?java.util.Properties;


public?class?JdbcUtil?{

	//?表示定義數據庫的用戶名
	private?static?String?USERNAME?;

	//?定義數據庫的密碼
	private?static?String?PASSWORD;

	//?定義數據庫的驅動信息
	private?static?String?DRIVER;

	//?定義訪問數據庫的地址
	private?static?String?URL;

	//?定義數據庫的鏈接
	private?Connection?connection;

	//?定義sql語句的執行對象
	private?PreparedStatement?pstmt;

	//?定義查詢返回的結果集合
	private?ResultSet?resultSet;
	
	static{
		//加載數據庫配置信息,并給相關的屬性賦值
		loadConfig();
	}

	/**
	?*?加載數據庫配置信息,并給相關的屬性賦值
	?*/
	public?static?void?loadConfig()?{
		try?{
			InputStream?inStream?=?JdbcUtil.class
					.getResourceAsStream("/jdbc.properties");
			Properties?prop?=?new?Properties();
			prop.load(inStream);
			USERNAME?=?prop.getProperty("jdbc.username");
			PASSWORD?=?prop.getProperty("jdbc.password");
			DRIVER=?prop.getProperty("jdbc.driver");
			URL?=?prop.getProperty("jdbc.url");
		}?catch?(Exception?e)?{
			throw?new?RuntimeException("讀取數據庫配置文件異常!",?e);
		}
	}

	public?JdbcUtil()?{

	}

	/**
	?*?獲取數據庫連接
	?*?
	?*?@return?數據庫連接
	?*/
	public?Connection?getConnection()?{
		try?{
			Class.forName(DRIVER);?//?注冊驅動
			connection?=?DriverManager.getConnection(URL,?USERNAME,?PASSWORD);?//?獲取連接
		}?catch?(Exception?e)?{
			throw?new?RuntimeException("get?connection?error!",?e);
		}
		return?connection;
	}
	/**
	?*?執行更新操作
	?*?
	?*?@param?sql
	?*????????????sql語句
	?*?@param?params
	?*????????????執行參數
	?*?@return?執行結果
	?*?@throws?SQLException
	?*/
	public?boolean?updateByPreparedStatement(String?sql,?List<?>?params)
			throws?SQLException?{
		boolean?flag?=?false;
		int?result?=?-1;//?表示當用戶執行添加刪除和修改的時候所影響數據庫的行數
		pstmt?=?connection.prepareStatement(sql);
		int?index?=?1;
		//?填充sql語句中的占位符
		if?(params?!=?null?&&?!params.isEmpty())?{
			for?(int?i?=?0;?i?<?params.size();?i++)?{
				pstmt.setObject(index++,?params.get(i));
			}
		}
		result?=?pstmt.executeUpdate();
		flag?=?result?>?0???true?:?false;
		return?flag;
	}

	/**
	?*?執行查詢操作
	?*?
	?*?@param?sql
	?*????????????sql語句
	?*?@param?params
	?*????????????執行參數
	?*?@return
	?*?@throws?SQLException
	?*/
	public?List<Map<String,?Object>>?findResult(String?sql,?List<?>?params)
			throws?SQLException?{
		List<Map<String,?Object>>?list?=?new?ArrayList<Map<String,?Object>>();
		int?index?=?1;
		pstmt?=?connection.prepareStatement(sql);
		if?(params?!=?null?&&?!params.isEmpty())?{
			for?(int?i?=?0;?i?<?params.size();?i++)?{
				pstmt.setObject(index++,?params.get(i));
			}
		}
		resultSet?=?pstmt.executeQuery();
		//getMetaData()獲取結果集的所有字段的描述
		ResultSetMetaData?metaData?=?resultSet.getMetaData();
		//得到數據集的列數
		int?cols_len?=?metaData.getColumnCount();
		while?(resultSet.next())?{
			Map<String,?Object>?map?=?new?HashMap<String,?Object>();
			for?(int?i?=?0;?i?<?cols_len;?i++)?{
				String?cols_name?=?metaData.getColumnName(i?+?1);
				Object?cols_value?=?resultSet.getObject(cols_name);
				if?(cols_value?==?null)?{
					cols_value?=?"";
				}
				map.put(cols_name,?cols_value);
			}
			list.add(map);
		}
		return?list;
	}

	/**
	?*?釋放資源
	?*/
	public?void?releaseConn()?{
		if?(resultSet?!=?null)?{
			try?{
				resultSet.close();
			}?catch?(SQLException?e)?{
				e.printStackTrace();
			}
		}
		if?(pstmt?!=?null)?{
			try?{
				pstmt.close();
			}?catch?(SQLException?e)?{
				e.printStackTrace();
			}
		}
		if?(connection?!=?null)?{
			try?{
				connection.close();
			}?catch?(SQLException?e)?{
				e.printStackTrace();
			}
		}
	}

	public?static?void?main(String[]?args)?{
		JdbcUtil?jdbcUtil?=?new?JdbcUtil();
		jdbcUtil.getConnection();
		try?{
			List<Map<String,?Object>>?result?=?jdbcUtil.findResult(
					"select?*?from?t_student",?null);
			for?(Map<String,?Object>?m?:?result)?{
				System.out.println(m);
			}
		}?catch?(SQLException?e)?{
			e.printStackTrace();
		}?finally?{
			jdbcUtil.releaseConn();
		}
	}
}


0 回復 有任何疑惑可以回復我~

同樓上

0 回復 有任何疑惑可以回復我~

自己寫一個多好,又鍛煉了自己,還加深了印像,用起來還方便。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java 分頁原理與實踐(上)
  • 參與學習       65014    人
  • 解答問題       150    個

通過總結常見的分頁樣式,手把手帶你實現java常見的分頁功能

進入課程

jdbcutil.java能分享嗎?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號