pwnhub-12月內部賽pwn-note9-wp
阿新 • • 發佈:2022-04-05
原理圖
資料庫:
專案如何搭建?
考慮使用不使用Maven ? 依賴,Jar
專案搭建準備工作
-
搭建一個maven web專案
-
配置Tomcat
-
測試專案是否能夠跑起來
-
匯入專案中會遇到的jar包
sevlet-api,jsp-api,jstl,jstl-api,mysql-connector-java
-
構建專案框架
-
編寫實體類
ORM:表-類對映
-
編寫基礎公共類
-
資料庫配置檔案
diver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/smbms?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
username=root
password=123456 -
編寫資料庫的公共類
package com.study.dao;
import java.io.IOException;
import java.io.InputStream;
import java.sql.*;
import java.util.Properties;
//操作資料庫的公共類
public class BaseDao {
private static String driver;
private static String url;
private static String username;
private static String password;
//靜態程式碼塊,類載入的時候就初始化了
static{
Properties properties = new Properties();
//通過類載入器獲取對用的資源
InputStream is = BaseDao.class.getClassLoader().getResourceAsStream("db.properties");
try {
properties.load(is);
} catch (IOException e) {
e.printStackTrace();
}
driver = properties.getProperty("driver");
url = properties.getProperty("url");
username = properties.getProperty("username");
password = properties.getProperty("password");
}
//獲取資料庫的連線
public static Connection getConnection(){
Connection connection = null;
try {
connection = DriverManager.getConnection(url, username, password);
} catch (SQLException e) {
e.printStackTrace();
}
return connection;
}
//編寫查詢公共類
public static ResultSet excute(Connection connection, String sql, Object[] params, ResultSet resultSet, PreparedStatement preparedStatement) throws SQLException {
//預編譯的sql,在後面直接執行就可以了
preparedStatement = connection.prepareStatement(sql);
for (int i = 0; i < params.length; i++) {
//setObject,佔位符從1開始,但是我們的陣列是從0開始!
preparedStatement.setObject(i+1,params[i]);
}
resultSet = preparedStatement.executeQuery();
return resultSet;
}
//編寫增刪改公共類
public static int excute(Connection connection,String sql,Object[] params,PreparedStatement preparedStatement) throws SQLException {
preparedStatement = connection.prepareStatement(sql);
-