創建Maven項目
步驟如下
按照上圖操作後,一直下一步下一步操作最後項目結構如下
修改pom.xml文件
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.xiangty</groupId>
<artifactId>jdbc-demo</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>jdbc-demo Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<!-- 單元測試 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!-- 數據庫鏈接包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
</dependencies>
<build>
<finalName>jdbc-demo</finalName>
</build>
</project>
配置好pom.xml文件後,選中項目,右鍵Maven->Update Project... ,刷新項目maven配置
數據庫連接工具類
DBUtil.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
* 數據庫連接工具類
*
* @author xiangty
*
* 1.配置驅動 2.獲取數據庫連接 3.查詢方法、更新刪除方法 4.關閉流
*/
public class DBUtil {
private static final String DIRVER_CLASS = "com.mysql.jdbc.Driver";
private static final String DIRVER_URL = "jdbc:mysql://localhost:3306/test";
private static final String DIRVER_USERNAME = "root";
private static final String DIRVER_PASSWORD = "123456";
protected static Connection connection;
protected static PreparedStatement prearedStatement;
protected static ResultSet resultSet;
/**
* 1.配置驅動
*/
static {
try {
Class.forName(DIRVER_CLASS);
System.out.println("-------------- 配置驅動");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
/**
* 2.獲取數據庫連接
*
* @return
*/
public static Connection getConnection() {
try {
connection = DriverManager.getConnection(DIRVER_URL, DIRVER_USERNAME, DIRVER_PASSWORD);
System.out.println("------------- 獲取數據庫連接");
} catch (SQLException e) {
e.printStackTrace();
}
return connection;
}
/**
* 查詢方法
*
* @param sql 查詢的sql語句, sql中可以帶問號,例如:"select * from table_name where id=?;"
* @param params 傳入的參數內容數組
* @return
*/
public static ResultSet commQuery(String sql, Object... params) {
connection = getConnection();
try {
prearedStatement = connection.prepareStatement(sql);
if (params != null && params.length > 0) {
setValues(prearedStatement, params);
}
resultSet = prearedStatement.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
}
return resultSet;
}
/**
* 給sql中的參數賦值
*
* @param pst
* @param params 參數數組
*/
private static void setValues(PreparedStatement pst, Object... params) {
for (int i = 0; i < params.length; i++) {
try {
pst.setObject(i + 1, params[i]);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
/**
* 增刪改 方法
*
* @param sql 增刪改的sql
* @param params 傳入的參數
* @return 返回被操作的條數
*/
public static int commUpdate(String sql, Object... params) {
int result = 0;
connection = getConnection();
try {
prearedStatement = connection.prepareStatement(sql);
if (params != null && params.length > 0) {
setValues(prearedStatement, params);
}
result = prearedStatement.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
closeAll(connection, prearedStatement, resultSet);
}
return result;
}
/**
* 關閉Connection, PreparedStatement, ResultSet
*/
public static void closeAll(Connection conn, PreparedStatement pst, ResultSet rs) {
try {
if (rs != null) {
rs.close();
}
if (pst != null) {
pst.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
User.java
/**
* 用戶類
* @author xiangty
*
*/
public class User {
/**
* id編號
*/
private Integer id;
/**
* 用戶名稱
*/
private String username;
/**
* 密碼
*/
private String password;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "User [id=" + id + ", username=" + username + ", password=" + password + "]";
}
}
測試數據庫驅動和連接是否成功
測試查詢方法
測試新增