}点击删除按钮后进入一个Servlet控制器String id=nullfor(int i=0i<pageSizei++){ id=request.getParameter(i+"") if(id!=null){ 删除记录方法(String id) }}在model中再写一个根据ID删除记录的类.方法就OK了 很好写 我就不写了
使用拼接字符串就行:String sql = "DELETE FROM student WHERE id = '" + id + "'"
但是上述方式存在sql注入风险,
可以使用
perstmt = conn.prepareStatement("DELETE FROM student WHERE id = ?")
perstmt.setString(1,id)
连接数据库public class DBManager {
//定义数据库连接的URL
private static final String URL="jdbc:sqlserver://localhost:1433database=j1105"
//定义数据库的用户名
private static final String USERNAME = "sa"
//定义数据库密码
private static final String PASSWORD = "sa"
//定义一个连接的引用,使用单例模式
private static Connection conn = null
//使用静态块来注册驱动
//类加载时自动执行代码块
static {
//反射com.microsoft.sqlserver.jdbc.SQLServerDriver.class
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")
} catch (ClassNotFoundException e) {
e.printStackTrace()
}
}
//获得连接
//在程序使用过程中始终只有1个对象存在
//使用单例模式来给Connection赋值
public static Connection getConnection(){
if(conn == null){
try {
conn = DriverManager.getConnection(URL, USERNAME, PASSWORD)
} catch (SQLException e) {
e.printStackTrace()
}
}
return conn
}
/**
* 关闭的一些 *** 作 , 优化
* @param conn
* @param stat
* @param rs
*/
public static void close(Connection conn,Statement stat,ResultSet rs){
try{
if(conn != null){
conn.close()
}
if(stat != null){
stat.close()
}
if(rs != null){
rs.close()
}
}catch(SQLException e){
e.printStackTrace()
}
}
/**
* 重写上面的方法,在只有2个参数的情况下关闭
* @param conn
* @param stat
*/
public static void close(Connection conn,Statement stat){
try{
if(conn != null){
conn.close()
}
if(stat != null){
stat.close()
}
}catch(SQLException e){
e.printStackTrace()
}
}
public static void main(String[] args){
Connection conn = DBManager .getConnection()
System.out.println(conn)
}
}
接口
public interface IStudentDao {
public void deleteStudent(int xh)
}
实现
public class StudentDAOimpl implements IStudentDao {
public void deleteStudent(int xh) {
try{
String sql = "delete from tb_student where xh = ?"
PreparedStatement ps = conn.prepareStatement(sql)
ps.setInt(1, xh)
ps.executeUpdate()
System.out.println("成功删除")
}catch(SQLException e){
e.printStackTrace()
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)