同意用存储过程.用存储过程的时候,你可以定义Handler,可以根据SQLSTATE来判断,如果发现删除失败,而且是由于外键引起的(有对应的SQLSTATE代码的,不同sql方言可能不同),那么就不能删除.可以返回错误代码
根据ER图来判断是否有外键,这样可行吗?
这样JAVA代码就要依靠ER图了,实际开发中,这种后期维护挺不容易的.尽量要避免这种代码依赖.
这种题,其实是考察你对数组的理解.
实际工作上,一般用List.区别在于,List可动态分配空间,数组长度是定死的.
List其实是对数组的封装,底层也是数组.
解决这个问题的思路(假设删除一个元素):
创建一个新的数组,长度为原来数组减1;
循环复制,匹配的不复制,不匹配的复制到新数组;
代码如下:
public class $ {
public static void main(String[] args) {
System.out.print("删除前:");
show(arr);
// ///////////////////////////////////
int[] brr = new int[arr.length - 1];
int idx = 0;
for (int i : arr) {
brr[idx◆◆] = i;
}
System.out.print("删除后:");
show(brr);
private static void show(int[] arr) {
System.out.print(i ◆ ",");
System.out.println();
连接数据库
public class DBManager {
//定义数据库连接的URL
//定义数据库的用户名
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){
conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
} catch (SQLException e) {
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){
public static void close(Connection conn,Statement stat){
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) {
String sql = "delete from tb_student where xh = ?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setInt(1, xh);
ps.executeUpdate();
System.out.println("成功删除");
你的代码是可以的.
如果出现不能删除的现象,
①看看有没有异常发生.如果有捕获信息,看看是什么错.
以上就是土嘎嘎小编为大家整理的java删除代码怎么写相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!