Introduction to Java Basics-JDBC Operation MySQL Database DBUtil Tool Class

Create Maven project

Proceed as follows

After operating according to the above figure, the next step has been the next step. The final project structure is as follows

Modify the pom.xml file

<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>

After configuring the pom.xml file, select the project, right-click Maven->Update Project..., refresh the project maven configuration

Database connection tools

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

}

Test whether the database driver and connection are successful

Test query method

Test added

 

Guess you like

Origin blog.csdn.net/qq_33369215/article/details/90383201