1.手搓简单SQL增删改查框架-删除
1.1创建简单类,并使用泛型类,这里可能使用到之间写的三篇知识的内容,如果不了解的小伙伴可以去
当然,前提是必须要把数据库相关连接弄好,这里会专门出一篇 java之jdbc
现在咱们继续手搓框架开始叭!
1.2 前期的准备工作
这里已经在【手搓简单SQL增删改查框架-插入】的时候准备完成,如果没有准备的小伙伴可以去瞅瞅
并且这次依然延续用前两篇文章的模板,及dao、userdao、自定义接口、测试类文件
1.3 手搓!!!
删除的就很简单
直接开搓就完事了
就是干!!!
public int del(T t) throws Exception{
//以下代码依然要拼接一条删除sql语句 DELETE FROM user WHERE id=88
StringBuffer delete = new StringBuffer("DELETE FROM ");
//通过反射获取类对象
Class<?> aClass = t.getClass();
//获取表名,前提是要判断类名与表名是否一致
String simpleName = aClass.getSimpleName();
TableName annotation = aClass.getAnnotation(TableName.class);
if (annotation != null){
simpleName = annotation.value();
}
//拼接表名
delete.append(simpleName);
//拿到id列名与列值
String where = " where ";
Field[] declaredFields = aClass.getDeclaredFields();
for (Field declaredField : declaredFields) {
declaredField.setAccessible(true);
//通过注解获取id值
TableId annotation1 = declaredField.getAnnotation(TableId.class);
//判断id值,通过注解主要功能为判断id是否为主键,判断id是否与列名id一致
if(annotation1 != null){
String id = annotation1.value();
Object o = declaredField.get(t);
//拼接where
where= where + id + "=" + o;
}
}
delete.append(where);
// 调用jdbc数据库运行sql语句
Connection connection = DButils.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement(delete.toString());
int i = preparedStatement.executeUpdate();
return i;
}
1.3.1 猜想
这里有个猜想,如果可以的话,我感觉把对象传入直接换成id传入,可以更简便,要不然每次调用DELETE方法还要创建对象进去,属实麻烦。
如果可以直接传入id,万能id
感觉有可能
--------
以上便是ORM框架中的SQL语句删除,如有漏缺请在下方留言告知,我会及时补充
标签:aClass,java,--,SQL,where,id,DELETE From: https://www.cnblogs.com/9--1/p/17624466.html