//反射新增、修改
/*
思路:
1、先用正则匹配得到我们的Sql语句的字段(表的列名)
2、遍历字段名
3、获取类的所在位置( T 的位置)
4、根据字段名称得到封装的字段的类型
5、这里我们需要先把字段名首字母大写,再用Method 拼接方法调用我们封装的get 方法 :(“get”+BigName)
6、最后判断类型把取到的值保存进数据库即可
(修改我是把所要修改的字段跟Sql语句分开,详情请看代码)*/
private static PreparedStatement ps = null;
public int toInsert(Connection conn,String sql,String string,T t,Class<T> obj){
int ints =0;
try {
ps = conn.prepareStatement(sql);
String s="\\(.*?\\)";
//Pattern 指定为字符串的正则表达式必须首先被编译为此类的实例。
Pattern p = Pattern.compile(s);//compile()将给定的正则表达式编译到模式中。
Matcher m =null;
if (string==null){
m = p.matcher(sql);//创建匹配器。//新增
}else {
m = p.matcher(string);//修改
}
//find() 尝试查找与该模式匹配的输入序列的下一个子序列。
if (m.find( )) {
System.out.println(m.group(0));//gro