日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java反射_JDBC操作数据

發布時間:2024/9/20 java 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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();//獲取屬性類型 intClass type = field.getType();//Method rsGetMethod = ResultSet.class.getMethod("getObject", String.class);Object value = rsGetMethod.invoke(rs, fname);//更改修飾符權限field.setAccessible(true);field.set(obj, value);}

總結

以上是生活随笔為你收集整理的Java反射_JDBC操作数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。