简化 java 编程 SQL 冗余 语句,使用StringBuffer 中的append 追加拼成 字符串
在没有使用Hibernate框架的时候 ,每次在编写连接数据库查询的时候,都一直Ctrl +C,Ctrl +V 使用很多重复的sql语句,比如数据库的增删改查,造成代码的 数量冗余了很多,现在我整理一些 简化后适用的 ,我遇到的一些简单的方法,第一次写博客,如果大家发现有错误,请指正,不胜感激(排版很丑,勿嫌弃):
- *适用于所有的 表格 的 SQL 语句的增删改查 简化
B话不多说,我使用的jdk版本为 1.8 的,不存在什么兼容性的问题
相信大家也很烦,在对每个数据库表格进行操作的时候,对每一个人都是,重复的编写select ,insert ,update ,delete 语句。我的思路就是将这些方法重复的部分抽取出来,编写成一个适用于对各个表格的操作,因为StringBuffer 的方法类型是 线程安全 ,所以就使用它来给大家演示了,使用StringBuilder 也是可以的 。
1.创建的数据库数据表名务必 和 javabean 的 类名相同 ,里面的属性名称和属性值一定要对应得上
例如:在数据库中创建了 Login 表,里面包含 count (varchar类型 ),那么在javabean中也要创建一个 user 类 里面包含 count(String类型)。
代码块
public class Login {
private Integer id;
private String count;
private String password;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getCount() {
return count;
}
public void setCount(String count) {
this.count = count;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Login(Integer id,String count, String password) {
super();
this.id = id;
this.count = count;
this.password = password;
}
public Login(String count, String password) {
super();
this.count = count;
this.password = password;
}
public Login() {}
}
这个就是我创建的对应数据库中的实体类(也就是javabean)
具体的操作:
1.使用Object 对象接收 传递过来的类名 ,通过jdk自带的 reflect 类 ,进行操作,我将这个方法设置成了私有类型,通过同类中的public 方法去调用
代码块 insert
private String generateInsert(Object entity) {
StringBuffer sql = new StringBuffer();
sql.append("insert into ");
//entity.getClass().getName();是获得类的完整路径 比如com.dao.commonDao
//entity.getClass().getSimpleName();获得类的简单路径 比如 commonDao