文章参考:https://www.cnblogs.com/qianguyihao/p/4054235.html.
Java JDBC实现数据库增删改查
首先要清楚SQL增删改查的语句
- 增:
insert into student(id,name,gender)values(?,?,?)
其中student 为数据表名,第一个括号里面的是数据表的各个属性,第二个括号的问号的占位符
/*
* 往数据表插入数据函数
*/
public static void insertDB(Connection conn,Student stu){
String insertsql = "insert into student(id,name,gender)values(?,?,?)";
try {
//创建PreparedStatement并执行sql语句
PreparedStatement ps = conn.prepareStatement(insertsql);
//设置占位符对应的值
ps.setInt(1, stu.getId());//表示第一个问号的值是 stu.getId()
ps.setString(2, stu.getName());
ps.setString(3, stu.getGender());
ps.executeUpdate();
System.out.println("数据插入成功");
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
- 删
delete from student where id=?
此语句是删除数据表中指定id的数据
/*
* 删除函数
*/
public static void deleteDB(Connection conn,int id){
String deletesql = "delete from student where id=?";
PreparedStatement ps;
try {
ps = conn.prepareStatement(deletesql);
//设置占位符对应的值
ps.setInt(1, id);
ps.executeUpdate();
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
System.out.println("删除指定数据成功");
}
- 改(更新)
update student set id=?,name=?,gender=? where id=?
此语句是更新指定id的数据
/*
* 更新函数
*/
public static void updateDB(Connection conn,Student stu,int id){
String updatesql = "update student set id=?,name=?,gender=? where id=?";
try {
PreparedStatement ps = conn.prepareStatement(updatesql);
//设置占位符对应的值
ps.setInt(1, stu.getId());
ps.setString(2, stu.getName());
ps.setString(3, stu.getGender());
//指定id
ps.setInt(4, id);
ps.executeUpdate();
System.out.println("修改数据成功");
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
- 查
//查询student中的id,name,gender
select id,name,gender from student
//查询student中的所有数据
//select * from student
/*
* 查询函数
*/
public static void queryDB(Connection conn){
String querysql = "select id,name,gender from student";
try {
Statement state = conn.createStatement();
ResultSet rs = state.executeQuery(querysql);
while(rs.next()){
//获取数据表中的值
int id = rs.getInt(1);
String name = rs.getString(2);
String gender = rs.getString(3);
System.out.println("id="+id+"\tname="+name+"\tgender="+gender);
}
rs.close();
state.close();
} catch (SQLException e) {
e.printStackTrace();
}
}