利用反射拼接sql语句
来源:互联网 发布:淘宝企业店铺怎么操作 编辑:程序博客网 时间:2024/06/06 01:33
首先,创建一个Student类:
class Student{ private int age; private String name; private Date date; public Student(){} public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Date getDate() { return date; } public void setDate(Date date) { this.date = date; } public Student(int age, String name, Date date) { super(); this.age = age; this.name = name; this.date = date; }}
然后利用反射来拼接插入一个条数据
import java.lang.reflect.Field;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Date;public class ReflectDemo { public String insert(Object o){ Class c = o.getClass(); String tableName = c.getSimpleName(); System.out.println(tableName); Field[] fields = c.getDeclaredFields(); StringBuffer sb=new StringBuffer(); for(Field f: fields){ sb.append(f.getName() + ","); } String sql=sb.substring(0,sb.length()-1); String sql2=""; StringBuffer sb2=new StringBuffer(); try { Field[] fields2 = c.getDeclaredFields(); for (Field f : fields2) { f.setAccessible(true); if(f.getType()==String.class){ sb2.append("'" + f.get(o) + "',"); }else if(f.getType()==Date.class){ Date d=(Date) f.get(o); DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); String str = df.format(d); sb2.append("'" + str + "',"); }else{ sb2.append(f.get(o) + ","); } } sql2=sb2.substring(0,sb2.length()-1); }catch (Exception e) { e.printStackTrace(); } return "insert into " + tableName + "(" + sql + ") values(" + sql2 + ")"; } public static void main(String[] args) { Student stu = new Student(1, "张三", new Date()); ReflectDemo s = new ReflectDemo(); String sql = s.insert(stu); System.out.println(sql); }}
运行结果:
Student(age,name,date) values(1,’张三’,’2017-06-10’)
阅读全文
1 0
- 利用反射拼接sql语句
- java 利用注释和反射写一个简单的SQL语句拼接程序,很简单初学者
- 利用反射动态构成sql语句
- 利用反射动态生成sql语句
- 利用一个辅助变量来实现sql语句的拼接
- 利用excel批量拼接SQL语句的几处细节
- 技巧-----sql语句拼接
- 拼接sql语句
- SQL语句拼接。。。
- sql语句拼接
- SQL查询语句拼接
- sql 语句的拼接
- iwebshop sql语句拼接
- sql语句拼接
- SQL查询语句拼接
- 拼接SQL语句[Oracle]
- excel 拼接sql 语句
- 反射+自定义属性拼接sql
- transient
- codeforce814B An express train to reveries (有点高中分类讨论的意思)
- [P2678]跳石头
- Android自定义网络请求状态组件
- centos 6.5安装erlang 18.3
- 利用反射拼接sql语句
- 求三角形内任意一点到另一个三角形上的映射坐标点
- 在Ubuntu中安装Flawfinder
- Android 分包导致报错ClassNotFoundException
- Javascript触发事件列表
- crypt1-section1.3
- Java的日期与MySQL数据库日期的转化问题
- Android6.0/7.0新特性
- java中用Dom4J来操作xml文件(删除和修改和添加)