用JAVA数据库表的删除方法应该怎么写啊*(新手)

用JAVA数据库表的删除方法应该怎么写啊*(新手),第1张

页面时JSP页面吧,从数据库中读取的数据应该是分页显示出来的如果你的页面的数据记录的条数是pageSize个 JSP页面:for(int i=0i<pageSizei++){ <input type=checkbox name=<%=i %>value=<%=id %>>记录内容 // 循环显示每条记录并加入复选框,id是表的主码

}点击删除按钮后进入一个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()

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6848387.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-29
下一篇 2023-03-29

发表评论

登录后才能评论

评论列表(0条)

保存