欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

基于Java对数据库表中的数据进行CRUD操作

程序员文章站 2022-06-02 08:21:11
...

CRUD增删改查(insert,delete,update,select)
CRUD操作部分

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.swing.text.StyledEditorKit.BoldAction;
import com.mysql.jdbc.jdbc2.optional.PreparedStatementWrapper;
public class UserCRUD {
	private Connection conn;
	private boolean insert(String username, String password) throws ClassNotFoundException, SQLException {
		PreparedStatement ps = null;
		try {
			conn=DBUtils.getConn();
			String sql = "insert into tbuser(username,password) values(?,?)";
			ps = conn.prepareStatement(sql);
			ps.setString(1, username);
			ps.setString(2, password);
			// 执行
			int i = ps.executeUpdate();
			return i > 0;
		} finally {
			DBUtils.close(null, ps, conn);
		}
	}

	private boolean update(int id, String password) throws ClassNotFoundException, SQLException {
		PreparedStatement ps = null;
		try {
			conn=DBUtils.getConn();
			String sql = "update tbuser set password=? where id=?";
			ps = conn.prepareStatement(sql);
			ps.setInt(1, id);
			ps.setString(2, password);
			// 执行
			int i = ps.executeUpdate();
			return i > 0;
		} finally {
			DBUtils.close(null, ps, conn);
		}

	}

	private boolean delete(int id) throws ClassNotFoundException, SQLException {
		PreparedStatement ps = null;
		try {
			conn=DBUtils.getConn();
			String sql = "delete from tbuser where id=?";
			ps = conn.prepareStatement(sql);
			ps.setInt(1, id);
			// 执行
			int i = ps.executeUpdate();
			return i > 0;
		} finally {
			DBUtils.close(null, ps, conn);
		}

	}

	public Map<String, Object> selectOne(String username) throws SQLException {
		// 声明map作为返回值
		Map<String, Object> map = new HashMap<String, Object>();
		String sql = "select * from tbuser where username=?";
		PreparedStatement ps = null;
		ResultSet rs = null;
		try {
			conn=DBUtils.getConn();
			ps = conn.prepareStatement(sql);
			ps.setString(1, username);
			rs = ps.executeQuery();
			if (rs.next()) {
				// 根据列的标签(默认列名,如有设置别名,则表骗为别名)获取列值
				int id = rs.getInt("id");
				String name = rs.getString("username");
				String pwd = rs.getString("password");
				//将获取的数据添加到集合
				map.put("id", id);
				map.put("username", name);
				map.put("password", pwd);
			}
		} finally {
			DBUtils.close(rs, ps, conn);
		}

		return map;
	}

	public List<Map<String, Object>> selectAll() throws SQLException {
		List<Map<String, Object>> list=new ArrayList<Map<String,Object>>();
		String sql = "select * from tbuser";
		PreparedStatement ps = null;
		ResultSet rs = null;
		try {
			conn=DBUtils.getConn();
			ps = conn.prepareStatement(sql);
			rs = ps.executeQuery();
			while (rs.next()) {
				Map<String, Object> map=new HashMap<>();
				int id = rs.getInt("id");
				String name = rs.getString("username");
				String pwd = rs.getString("password");
				//将获取的数据添加到集合
				map.put("id", id);
				map.put("username", name);
				map.put("password", pwd);
				list.add(map);
			}
		} finally {
			DBUtils.close(rs, ps, conn);
		}

		return list;

	}

	public static void main(String[] args) throws ClassNotFoundException, SQLException {
		UserCRUD crud = new UserCRUD();
		// boolean f = crud.insert("softeem123", "123softeem");
		// boolean f = crud.delete(7);
		// boolean f = crud.update(6,"11111");
		//p<String, Object> f = crud.selectOne("softeem");
		List<Map<String, Object>> list =crud.selectAll();
		//System.out.println("执行结果为:" + f);
	    System.out.println("执行结果为:" + list);
	}

}

工具类,JDBC基本封装

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.mysql.jdbc.Statement;

/**
 * 数据库工具类 将访问数据库的公共代码抽取: 1、加载驱动 2、获取链接 6、关闭资源
 * 
 * @author lenovo
 *
 */
public class DBUtils {
	/** 驱动类路径 */
	private static final String DRIVER_CLASS = "com.mysql.jdbc.Driver";
	/** url地址 */
	private static final String URL = "jdbc:mysql://localhost:3306/mydb2";
	/** 数据库服务器登录用户名 */
	private static final String USER = "root";
	/** 数据库服务器登录密码 */
	private static final String PASSWORD = "123456";

	static {
		try {
			Class.forName(DRIVER_CLASS);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
	}

	/**
	 * 获取数据库链接对象
	 * 
	 * @return
	 */
	public static synchronized Connection getConn() {
		try {
			return DriverManager.getConnection(URL, USER, PASSWORD);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return null;
	}

	/**
	 * 关闭资源
	 * @param rs
	 * @param ps
	 * @param conn
	 */
	public static void close(ResultSet rs, PreparedStatement ps, Connection conn) {
		try {
			if (rs != null)
				rs.close();
			if (ps != null)
				ps.close();
			if (conn != null)
				conn.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
}

相关标签: java mysql jdbc