基于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代码自动生成数据库表中对应的类文件及操作数据库功能
-
关于php的tp框架中怎么对选中元素进行数据库操作有关问题
-
C++对Mysql数据库的访问查询(基于Mysql5.0的API,vs2010中操作
-
MySQL数据库学习笔记3.0对数据库表中数据的操作、DQL查询语句
-
MyBatis 编程进阶~mybatis基于接口方式实现对数据库中的数据进行操作
-
基于Java对数据库表中的数据进行CRUD操作
-
如何在Java程序中访问mysql数据库中的数据并进行简单的操作_MySQL
-
在Java的Hibernate框架中对数据库数据进行查询操作
-
Java 8 Streams 中的数据库 CRUD 操作
-
怎样对ACCESS数据库中的表进行分析和优化