数据库的连接 {try {Class.forName("oracle.jdbc.driver.OracleDriver");} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}}private static Connection getConnection(){try {Connection conn=DriverManag
          {
		try {
			Class.forName("oracle.jdbc.driver.OracleDriver");
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	private static Connection getConnection(){
		try {
			Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","C##admin","123456");
			return conn;
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	}
	private static void close(){
		if(getConnection()!=null){
			try {
				getConnection().close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	} 
 反射的自动生成sql语句
 
public static实现增加和测试String getNoneInsertSql(Class c,List list){ StringBuffer sb=new StringBuffer(); sb.append("insert into "); sb.append(c.getSimpleName()); sb.append(" values("); for(String s: list){ sb.append("?"); sb.append(","); } sb.delete(sb.length()-1, sb.length()); sb.append(")"); return sb.toString(); } 
public staticint insertAllFactory(T t){ int i=1; Class c=t.getClass(); List list=new ArrayList (); for(Field f : c.getDeclaredFields()){ list.add(f.getName()); } String sql=getNoneInsertSql(c,list); try { PreparedStatement pstt=getConnection().prepareStatement(sql); for(String s : list){ for(Method me : c.getDeclaredMethods()){ if(me.getName().equalsIgnoreCase("get"+s)){ try { pstt.setObject(i, me.invoke(t, null)); i++; } catch (IllegalAccessException | InvocationTargetException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } return pstt.executeUpdate(); } catch (SecurityException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ close(); } return 0; } public static void test(Users users){ if( insertAllFactory(users)>0){ System.out.println("成功"); }else{ System.out.println("失败"); } } 
