Introducción a Java Basics-JDBC Operation MySQL Database DBUtil Tool Class

Crear proyecto Maven

Proceder de la siguiente

Después de operar de acuerdo con la figura anterior, el siguiente paso ha sido el siguiente paso. La estructura final del proyecto es la siguiente

Modificar el archivo 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>

Después de configurar el archivo pom.xml, seleccione el proyecto, haga clic con el botón derecho en Maven-> Actualizar proyecto ..., actualice la configuración de maven del proyecto

Herramientas de conexión a bases de datos

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 + "]";
	}

}

Pruebe si el controlador de la base de datos y la conexión son correctos

Método de consulta de prueba

Prueba agregada

 

Supongo que te gusta

Origin blog.csdn.net/qq_33369215/article/details/90383201
Recomendado
Clasificación