DBUtils增删改查的封装 import java.lang.annotation.Annotation;import java.lang.reflect.AnnotatedElement;import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java
DBUtils增删改查的封装
import java.lang.annotation.Annotation;
import java.lang.reflect.AnnotatedElement;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.security.interfaces.RSAKey;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CountDownLatch;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
import javax.xml.ws.soap.MTOM;
import org.jxnd.annotation.TableAnnotation;
import org.jxnd.bean.Roles;
import org.jxnd.bean.Users;
/**
* @author 今晚打老虎
* @see 一个关于数据库访问的简单封装
* @see 当前版本需要数据库的表名和列名与实体类的类名和字段名保持一直,否则数据无法转载 * */ @SuppressWarnings("all") public class DBTools { private static Connection conn; //当前连接对象 private static final String name="C##admin"; //用户名 private static final String pwd="123456"; //密码 private static final String envName="aaa"; //JNDI名,tomcat配置的连接池名称 private static final boolean isPool=false; //是否使用连接池(如果需要使用连接池,请在web环境测试) private static Context ctx=null; //创建容器对象 private static DataSource ds=null; //容器中取出Datasource数据源 //初始化资源 static{ try { if (isPool) { ctx = new InitialContext(); ds=(DataSource)ctx.lookup("java:comp/env/"+envName); }else Class.forName("oracle.jdbc.driver.OracleDriver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (NamingException e) { e.printStackTrace(); } } //获取连接方法(如果被多线程并发访问,此处的连接会不安全,请使用ThreadLocal对象) private static Connection getConnection(){ try { if (isPool) conn=ds.getConnection(); else conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl",name,pwd); } catch (SQLException e) { e.printStackTrace(); } return conn; } /**插入对象*/ public static
int insertOjbect(T t){ int i=0; try { //列名集合 List
columns=new ArrayList
(); //列的值集合 List