首页 > 代码库 > Java反射_JDBC操作数据
Java反射_JDBC操作数据
</pre><p>使用反射 来操作 这里是练习反射的使用</p><p>链接数据库工具类</p><p><pre name="code" class="java">private static final String DRIVER = "com.mysql.jdbc.Driver"; private static final String USER = "root"; private static final String PW = "1234"; private static final String URL="jdbc:mysql://localhost:3306/reflction"; /** * 链接数据库 * @return */ public static Connection getConnection(){ try { Class.forName(DRIVER); Connection con = DriverManager.getConnection(URL, USER, PW); System.out.println("Connection OK ....."); return con; } catch (Exception e) { System.out.println("Connection error..."); e.printStackTrace(); } return null; }
核心类
public Object getById(Class clazz, Integer id) throws Exception{ Object obj = clazz.newInstance();//实列一个 //创建链接 Connection con = JdbcUtils.getConnection(); //获取实体的名字 需要拼接 从最后一个点开始 String tablename = clazz.getName().substring(clazz.getName().lastIndexOf(".")); //拼接sql 语句 String sql = "select * from "+tablename+" where id=?"; try { PreparedStatement psmt = con.prepareStatement(sql); psmt.setInt(1, id); //查到结果集 ResultSet rs = psmt.executeQuery(); //遍历结果 while(rs.next()){ //得到所有属性 Field[] fields = clazz.getDeclaredFields(); for (Field field : fields) {//遍历属性 //获取属性名 String fname = field.getName(); //获取属性类型 int Class type = field.getType(); // Method rsGetMethod = ResultSet.class.getMethod("getObject", String.class); Object value = http://www.mamicode.com/rsGetMethod.invoke(rs, fname);>Java反射_JDBC操作数据
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。