日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android之jdbc的学习

發布時間:2024/9/20 Android 70 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android之jdbc的学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.什么是jdbc:
根據Sun的聲明,JDBC是一個商標的術語,并非Java DataBase Connectivity。但將其當成Java DataBase Connectivity更容易理解。jdbc是java程序訪問數據庫的一套接口,它結合了SQL語句。因為市場上有多種數據庫,他們的訪問協議不同,因此數據訪問方式不同。針對于這種情況,java提供了驅動管理器與數據庫驅動的概念,訪問方式有數據庫驅動提供,是具體的數據庫廠商寫的。而java程序需要哪種方式訪問數據庫,只需要將這種數據庫的驅動注冊到驅動管理器就ok了(這樣java程序才知道以何種方式訪問數據庫)。
2.jdbc的操作步驟
(1)注冊jdbc驅動:向java驅動管理器注冊使用的數據庫驅動。
(2)連接數據庫:建立通信,先接通才能操作數據庫。
(3)操作數據庫:增,刪,改,查等。
(4)關閉數據庫。
以MySql為例:
1.先要下載mysql數據庫的驅動:
http://pan.baidu.com/share/link?shareid=1725761810&uk=3056808396
將其加載到編寫的java工程中,剛測試了下載Android無法使用jdbc訪問數據,報一大堆錯誤,看stackoverflow上說建議使用webservice訪問數據庫。


2.編寫代碼:
(1)注冊jdbc驅動

?

[java]?view plaincopy
  • //?向驅動管理器注冊一個jdbc驅動??
  • ????????????Class.forName(driver).newInstance();??
  • ????????????System.out.println("驅動注冊成功");??

  • (2)連接數據庫:建立通信,先接通才能操作數據庫。

    [java]?view plaincopy
  • conn?=?DriverManager.getConnection(url,?username,?password);??
  • ????????????System.out.println("獲取鏈接成功");??

  • (3)操作數據庫:增,刪,改,查等。

    [java]?view plaincopy
  • //實現增刪改??
  • public?boolean?updateDB(String?sql,?List<Object>?params)??
  • ????{??
  • ????????boolean?retFlag?=?false;??
  • ????????try??
  • ????????{??
  • ????????????pstm?=?conn.prepareStatement(sql);??
  • ????????????//?notice:if(params?!=null?&&?!params.equals(""))這個要加上,避免params為空??
  • ????????????if?(params?!=?null?&&?!params.equals(""))??
  • ????????????{??
  • ????????????????for?(int?i?=?0;?i?<?params.size();?i++)??
  • ????????????????{??
  • ????????????????????pstm.setObject(i?+?1,?params.get(i));??
  • ????????????????}??
  • ????????????}??
  • ????????????return?pstm.executeUpdate()?>?0???true?:?false;??
  • ????????}??
  • ????????catch?(SQLException?e)??
  • ????????{??
  • ????????????e.printStackTrace();??
  • ????????}??
  • ??????????
  • ????????return?retFlag;??
  • ????}??
  • ????//實現查詢??
  • ????public?Map<String,?Object>?QueryDB(String?sql,?List<Object>?params)??
  • ????{??
  • ????????Map<String,?Object>?map?=?null;??
  • ????????try??
  • ????????{??
  • ????????????pstm?=?conn.prepareStatement(sql);??
  • ????????????if?(params?!=?null?&&?!params.equals(""))??
  • ????????????{??
  • ????????????????for?(int?i?=?0;?i?<?params.size();?i++)??
  • ????????????????{??
  • ????????????????????pstm.setObject(i?+?1,?params.get(i));??
  • ????????????????}??
  • ????????????}??
  • ????????????rs?=?pstm.executeQuery();??
  • ????????????ResultSetMetaData?rsMetaData?=?rs.getMetaData();??
  • ????????????while?(rs.next())??
  • ????????????{??
  • ????????????????map?=?new?HashMap<String,?Object>();??
  • ????????????????for?(int?i?=?0;?i?<?rsMetaData.getColumnCount();?i++)??
  • ????????????????{??
  • ????????????????????String?columnName?=?rsMetaData.getColumnName(i?+?1);??
  • ????????????????????Object?columnVal?=?rs.getObject(i?+?1);??
  • ????????????????????//?數據庫中的值可能為空??
  • ????????????????????if?(columnVal?==?null)??
  • ????????????????????{??
  • ????????????????????????columnVal?=?"";??
  • ????????????????????}??
  • ????????????????????map.put(columnName,?columnVal);??
  • ????????????????}??
  • ??????????????????
  • ????????????}??
  • ????????}??
  • ????????catch?(SQLException?e)??
  • ????????{??
  • ????????????//?TODO?Auto-generated?catch?block??
  • ????????????e.printStackTrace();??
  • ????????}??
  • ??????????
  • ????????return?map;??
  • ??????????
  • ????}??
  • ??????
  • ????//?這個完全可以代替單個查詢??
  • ????public?List<Map<String,?Object>>?QueryMoreDB(String?sql,?List<Object>?params)??
  • ????{??
  • ????????List<Map<String,?Object>>?retList?=?new?ArrayList<Map<String,?Object>>();??
  • ????????try??
  • ????????{??
  • ????????????pstm?=?conn.prepareStatement(sql);??
  • ????????????if?(params?!=?null?&&?!params.equals(""))??
  • ????????????{??
  • ????????????????for?(int?i?=?0;?i?<?params.size();?i++)??
  • ????????????????{??
  • ????????????????????pstm.setObject(i?+?1,?params.get(i));??
  • ????????????????}??
  • ????????????}??
  • ??????????????
  • ????????????ResultSet?rs?=?pstm.executeQuery();??
  • ????????????ResultSetMetaData?rsMetaData?=?rs.getMetaData();??
  • ????????????while?(rs.next())??
  • ????????????{??
  • ????????????????Map<String,?Object>?map?=?new?HashMap<String,?Object>();??
  • ????????????????for?(int?i?=?0;?i?<?rsMetaData.getColumnCount();?i++)??
  • ????????????????{??
  • ????????????????????String?columnName?=?rsMetaData.getColumnName(i?+?1);??
  • ????????????????????Object?columnVal?=?rs.getObject(i?+?1);??
  • ????????????????????if?(columnVal?==?null)??
  • ????????????????????{??
  • ????????????????????????columnVal?=?"";??
  • ????????????????????}??
  • ????????????????????map.put(columnName,?columnVal);??
  • ????????????????}??
  • ????????????????retList.add(map);??
  • ????????????}??
  • ????????}??
  • ????????catch?(SQLException?e)??
  • ????????{??
  • ????????????e.printStackTrace();??
  • ????????}??
  • ????????return?retList;??
  • ????}??
  • ??????
  • ????//?利用反射機制實現數據庫的操作??
  • ????public?<T>?T?QueryDBObj(String?sql,?List<Object>?params,?Class<T>?cls)??
  • ????{??
  • ????????T?t?=?null;??
  • ????????try??
  • ????????{??
  • ????????????pstm?=?conn.prepareStatement(sql);??
  • ????????????if?(params?!=?null?&&?!params.equals(""))??
  • ????????????{??
  • ????????????????for?(int?i?=?0;?i?<?params.size();?i++)??
  • ????????????????{??
  • ????????????????????pstm.setObject(i?+?1,?params.get(i));??
  • ????????????????}??
  • ????????????}??
  • ????????????rs?=?pstm.executeQuery();??
  • ????????????ResultSetMetaData?rsMetaData?=?rs.getMetaData();??
  • ????????????while?(rs.next())??
  • ????????????{??
  • ????????????????t?=?cls.newInstance();??
  • ????????????????for?(int?i?=?0;?i?<?rsMetaData.getColumnCount();?i++)??
  • ????????????????{??
  • ????????????????????String?columnName?=?rsMetaData.getColumnName(i?+?1);??
  • ????????????????????Object?columnVal?=?rs.getObject(i?+?1);??
  • ????????????????????//?這個field是類加載器級別的,用于管理其類的屬性??
  • ????????????????????Field?field?=?cls.getDeclaredField(columnName);??
  • ??????????????????????
  • ????????????????????field.setAccessible(true);??
  • ????????????????????field.set(t,?columnVal);??
  • ????????????????}??
  • ????????????}??
  • ????????????return?t;??
  • ????????}??
  • ????????catch?(SQLException?e)??
  • ????????{??
  • ????????????e.printStackTrace();??
  • ????????}??
  • ????????catch?(InstantiationException?e)??
  • ????????{??
  • ????????????e.printStackTrace();??
  • ????????}??
  • ????????catch?(IllegalAccessException?e)??
  • ????????{??
  • ????????????//?TODO?Auto-generated?catch?block??
  • ????????????e.printStackTrace();??
  • ????????}??
  • ????????catch?(SecurityException?e)??
  • ????????{??
  • ????????????//?TODO?Auto-generated?catch?block??
  • ????????????e.printStackTrace();??
  • ????????}??
  • ????????catch?(NoSuchFieldException?e)??
  • ????????{??
  • ????????????//?TODO?Auto-generated?catch?block??
  • ????????????e.printStackTrace();??
  • ????????}??
  • ??????????
  • ????????return?t;??
  • ????}??
  • ??????
  • ????//?利用反射機制實現數據庫的操作,知道其cls的結構??
  • ????public?<T>?List<T>?QueryDBMoreObj(String?sql,?List<Object>?params,?Class<T>?cls)??
  • ????{??
  • ????????List<T>?rstList?=?new?ArrayList<T>();??
  • ????????try??
  • ????????{??
  • ????????????pstm?=?conn.prepareStatement(sql);??
  • ????????????if?(params?!=?null?&&?!params.equals(""))??
  • ????????????{??
  • ????????????????for?(int?i?=?0;?i?<?params.size();?i++)??
  • ????????????????{??
  • ????????????????????pstm.setObject(i?+?1,?params.get(i));??
  • ????????????????}??
  • ????????????}??
  • ????????????rs?=?pstm.executeQuery();??
  • ????????????ResultSetMetaData?rsMetaData?=?rs.getMetaData();??
  • ????????????while?(rs.next())??
  • ????????????{??
  • ????????????????T?t?=?cls.newInstance();??
  • ????????????????for?(int?i?=?0;?i?<?rsMetaData.getColumnCount();?i++)??
  • ????????????????{??
  • ????????????????????String?columnName?=?rsMetaData.getColumnName(i?+?1);??
  • ????????????????????Object?columnVal?=?rs.getObject(i?+?1);??
  • ????????????????????//?這個field是類加載器級別的,用于管理其類的屬性??
  • ????????????????????Field?field?=?cls.getDeclaredField(columnName);??
  • ????????????????????//?應用Fied??
  • ????????????????????field.setAccessible(true);??
  • ????????????????????field.set(t,?columnVal);??
  • ????????????????}??
  • ????????????????rstList.add(t);??
  • ????????????}??
  • ????????????return?rstList;??
  • ????????}??
  • ????????catch?(SQLException?e)??
  • ????????{??
  • ????????????e.printStackTrace();??
  • ????????}??
  • ????????catch?(InstantiationException?e)??
  • ????????{??
  • ????????????e.printStackTrace();??
  • ????????}??
  • ????????catch?(IllegalAccessException?e)??
  • ????????{??
  • ????????????//?TODO?Auto-generated?catch?block??
  • ????????????e.printStackTrace();??
  • ????????}??
  • ????????catch?(SecurityException?e)??
  • ????????{??
  • ????????????//?TODO?Auto-generated?catch?block??
  • ????????????e.printStackTrace();??
  • ????????}??
  • ????????catch?(NoSuchFieldException?e)??
  • ????????{??
  • ????????????//?TODO?Auto-generated?catch?block??
  • ????????????e.printStackTrace();??
  • ????????}??
  • ??????????
  • ????????return?rstList;??
  • ????}??
  • ??????

  • 4.關閉數據庫

    [java]?view plaincopy
  • public?void?releaseJdbc()??
  • ????{??
  • ??????????
  • ????????try??
  • ????????{??
  • ????????????//?后生成的先釋放掉??
  • ????????????if?(rs?!=?null)??
  • ????????????{??
  • ????????????????rs.close();??
  • ????????????}??
  • ????????????if?(pstm?!=?null)??
  • ????????????{??
  • ????????????????pstm.close();??
  • ????????????}??
  • ????????????if?(conn?!=?null)??
  • ????????????{??
  • ????????????????conn.close();??
  • ????????????}??
  • ????????}??
  • ????????catch?(SQLException?e)??
  • ????????{??
  • ????????????e.printStackTrace();??
  • ????????}??
  • ??????????
  • ????}??

  • 完整源碼:
    jdbcUtil.java

    [java]?view plaincopy
  • package?utl;??
  • ??
  • import?java.lang.reflect.Field;??
  • import?java.sql.Connection;??
  • import?java.sql.DriverManager;??
  • import?java.sql.PreparedStatement;??
  • import?java.sql.ResultSet;??
  • import?java.sql.ResultSetMetaData;??
  • import?java.sql.SQLException;??
  • import?java.util.ArrayList;??
  • import?java.util.HashMap;??
  • import?java.util.List;??
  • import?java.util.Map;??
  • ??
  • public?class?jdbcUtil??
  • {??
  • ????private?String?url?=?"jdbc:mysql://localhost:3306/moondatabase";??
  • ??????
  • ????private?String?username?=?"root";??
  • ??????
  • ????private?String?password?=?"byd";??
  • ??????
  • ????private?String?driver?=?"com.mysql.jdbc.Driver";??
  • ??????
  • ????private?String?driver1?=?"org.gjt.mm.mysql.Driver";??
  • ??????
  • ????//?預定義聲明對象,用于操作數據庫??
  • ????PreparedStatement?pstm;??
  • ??????
  • ????//?java程序與數據庫建立的鏈接??
  • ????Connection?conn;??
  • ??????
  • ????//?查詢數據庫返回的對象??
  • ????ResultSet?rs;??
  • ??????
  • ????public?jdbcUtil(String?url,?String?username,?String?password)??
  • ????{??
  • ????????super();??
  • ????????this.url?=?url;??
  • ????????this.username?=?username;??
  • ????????this.password?=?password;??
  • ????????try??
  • ????????{??
  • ????????????//?向驅動管理器注冊一個jdbc驅動??
  • ????????????Class.forName(driver).newInstance();??
  • ????????????System.out.println("驅動注冊成功");??
  • ????????}??
  • ????????catch?(ClassNotFoundException?e)??
  • ????????{??
  • ????????????e.printStackTrace();??
  • ????????}??
  • ????????catch?(InstantiationException?e)??
  • ????????{??
  • ????????????e.printStackTrace();??
  • ????????}??
  • ????????catch?(IllegalAccessException?e)??
  • ????????{??
  • ????????????//?TODO?Auto-generated?catch?block??
  • ????????????e.printStackTrace();??
  • ????????}??
  • ????}??
  • ??????
  • ????public?jdbcUtil()??
  • ????{??
  • ????????try??
  • ????????{??
  • ????????????//?向驅動管理器注冊一個jdbc驅動??
  • ????????????Class.forName(driver1);??
  • ????????????System.out.println("驅動注冊成功");??
  • ????????}??
  • ????????catch?(ClassNotFoundException?e)??
  • ????????{??
  • ????????????e.printStackTrace();??
  • ????????}??
  • ????}??
  • ??????
  • ????public?void?getConnection()??
  • ????{??
  • ????????try??
  • ????????{??
  • ????????????conn?=?DriverManager.getConnection(url,?username,?password);??
  • ????????????System.out.println("獲取鏈接成功");??
  • ????????}??
  • ????????catch?(SQLException?e)??
  • ????????{??
  • ????????????e.printStackTrace();??
  • ????????}??
  • ????}??
  • ??????
  • ????public?boolean?updateDB(String?sql,?List<Object>?params)??
  • ????{??
  • ????????boolean?retFlag?=?false;??
  • ????????try??
  • ????????{??
  • ????????????pstm?=?conn.prepareStatement(sql);??
  • ????????????//?notice:if(params?!=null?&&?!params.equals(""))這個要加上,避免params為空??
  • ????????????if?(params?!=?null?&&?!params.equals(""))??
  • ????????????{??
  • ????????????????for?(int?i?=?0;?i?<?params.size();?i++)??
  • ????????????????{??
  • ????????????????????pstm.setObject(i?+?1,?params.get(i));??
  • ????????????????}??
  • ????????????}??
  • ????????????return?pstm.executeUpdate()?>?0???true?:?false;??
  • ????????}??
  • ????????catch?(SQLException?e)??
  • ????????{??
  • ????????????e.printStackTrace();??
  • ????????}??
  • ??????????
  • ????????return?retFlag;??
  • ????}??
  • ??????
  • ????public?Map<String,?Object>?QueryDB(String?sql,?List<Object>?params)??
  • ????{??
  • ????????Map<String,?Object>?map?=?null;??
  • ????????try??
  • ????????{??
  • ????????????pstm?=?conn.prepareStatement(sql);??
  • ????????????if?(params?!=?null?&&?!params.equals(""))??
  • ????????????{??
  • ????????????????for?(int?i?=?0;?i?<?params.size();?i++)??
  • ????????????????{??
  • ????????????????????pstm.setObject(i?+?1,?params.get(i));??
  • ????????????????}??
  • ????????????}??
  • ????????????rs?=?pstm.executeQuery();??
  • ????????????ResultSetMetaData?rsMetaData?=?rs.getMetaData();??
  • ????????????while?(rs.next())??
  • ????????????{??
  • ????????????????map?=?new?HashMap<String,?Object>();??
  • ????????????????for?(int?i?=?0;?i?<?rsMetaData.getColumnCount();?i++)??
  • ????????????????{??
  • ????????????????????String?columnName?=?rsMetaData.getColumnName(i?+?1);??
  • ????????????????????Object?columnVal?=?rs.getObject(i?+?1);??
  • ????????????????????//?數據庫中的值可能為空??
  • ????????????????????if?(columnVal?==?null)??
  • ????????????????????{??
  • ????????????????????????columnVal?=?"";??
  • ????????????????????}??
  • ????????????????????map.put(columnName,?columnVal);??
  • ????????????????}??
  • ??????????????????
  • ????????????}??
  • ????????}??
  • ????????catch?(SQLException?e)??
  • ????????{??
  • ????????????//?TODO?Auto-generated?catch?block??
  • ????????????e.printStackTrace();??
  • ????????}??
  • ??????????
  • ????????return?map;??
  • ??????????
  • ????}??
  • ??????
  • ????//?這個完全可以代替單個查詢??
  • ????public?List<Map<String,?Object>>?QueryMoreDB(String?sql,?List<Object>?params)??
  • ????{??
  • ????????List<Map<String,?Object>>?retList?=?new?ArrayList<Map<String,?Object>>();??
  • ????????try??
  • ????????{??
  • ????????????pstm?=?conn.prepareStatement(sql);??
  • ????????????if?(params?!=?null?&&?!params.equals(""))??
  • ????????????{??
  • ????????????????for?(int?i?=?0;?i?<?params.size();?i++)??
  • ????????????????{??
  • ????????????????????pstm.setObject(i?+?1,?params.get(i));??
  • ????????????????}??
  • ????????????}??
  • ??????????????
  • ????????????ResultSet?rs?=?pstm.executeQuery();??
  • ????????????ResultSetMetaData?rsMetaData?=?rs.getMetaData();??
  • ????????????while?(rs.next())??
  • ????????????{??
  • ????????????????Map<String,?Object>?map?=?new?HashMap<String,?Object>();??
  • ????????????????for?(int?i?=?0;?i?<?rsMetaData.getColumnCount();?i++)??
  • ????????????????{??
  • ????????????????????String?columnName?=?rsMetaData.getColumnName(i?+?1);??
  • ????????????????????Object?columnVal?=?rs.getObject(i?+?1);??
  • ????????????????????if?(columnVal?==?null)??
  • ????????????????????{??
  • ????????????????????????columnVal?=?"";??
  • ????????????????????}??
  • ????????????????????map.put(columnName,?columnVal);??
  • ????????????????}??
  • ????????????????retList.add(map);??
  • ????????????}??
  • ????????}??
  • ????????catch?(SQLException?e)??
  • ????????{??
  • ????????????e.printStackTrace();??
  • ????????}??
  • ????????return?retList;??
  • ????}??
  • ??????
  • ????//?利用反射機制實現數據庫的操作??
  • ????public?<T>?T?QueryDBObj(String?sql,?List<Object>?params,?Class<T>?cls)??
  • ????{??
  • ????????T?t?=?null;??
  • ????????try??
  • ????????{??
  • ????????????pstm?=?conn.prepareStatement(sql);??
  • ????????????if?(params?!=?null?&&?!params.equals(""))??
  • ????????????{??
  • ????????????????for?(int?i?=?0;?i?<?params.size();?i++)??
  • ????????????????{??
  • ????????????????????pstm.setObject(i?+?1,?params.get(i));??
  • ????????????????}??
  • ????????????}??
  • ????????????rs?=?pstm.executeQuery();??
  • ????????????ResultSetMetaData?rsMetaData?=?rs.getMetaData();??
  • ????????????while?(rs.next())??
  • ????????????{??
  • ????????????????t?=?cls.newInstance();??
  • ????????????????for?(int?i?=?0;?i?<?rsMetaData.getColumnCount();?i++)??
  • ????????????????{??
  • ????????????????????String?columnName?=?rsMetaData.getColumnName(i?+?1);??
  • ????????????????????Object?columnVal?=?rs.getObject(i?+?1);??
  • ????????????????????//?這個field是類加載器級別的,用于管理其類的屬性??
  • ????????????????????Field?field?=?cls.getDeclaredField(columnName);??
  • ??????????????????????
  • ????????????????????field.setAccessible(true);??
  • ????????????????????field.set(t,?columnVal);??
  • ????????????????}??
  • ????????????}??
  • ????????????return?t;??
  • ????????}??
  • ????????catch?(SQLException?e)??
  • ????????{??
  • ????????????e.printStackTrace();??
  • ????????}??
  • ????????catch?(InstantiationException?e)??
  • ????????{??
  • ????????????e.printStackTrace();??
  • ????????}??
  • ????????catch?(IllegalAccessException?e)??
  • ????????{??
  • ????????????//?TODO?Auto-generated?catch?block??
  • ????????????e.printStackTrace();??
  • ????????}??
  • ????????catch?(SecurityException?e)??
  • ????????{??
  • ????????????//?TODO?Auto-generated?catch?block??
  • ????????????e.printStackTrace();??
  • ????????}??
  • ????????catch?(NoSuchFieldException?e)??
  • ????????{??
  • ????????????//?TODO?Auto-generated?catch?block??
  • ????????????e.printStackTrace();??
  • ????????}??
  • ??????????
  • ????????return?t;??
  • ????}??
  • ??????
  • ????//?利用反射機制實現數據庫的操作,知道其cls的結構??
  • ????public?<T>?List<T>?QueryDBMoreObj(String?sql,?List<Object>?params,?Class<T>?cls)??
  • ????{??
  • ????????List<T>?rstList?=?new?ArrayList<T>();??
  • ????????try??
  • ????????{??
  • ????????????pstm?=?conn.prepareStatement(sql);??
  • ????????????if?(params?!=?null?&&?!params.equals(""))??
  • ????????????{??
  • ????????????????for?(int?i?=?0;?i?<?params.size();?i++)??
  • ????????????????{??
  • ????????????????????pstm.setObject(i?+?1,?params.get(i));??
  • ????????????????}??
  • ????????????}??
  • ????????????rs?=?pstm.executeQuery();??
  • ????????????ResultSetMetaData?rsMetaData?=?rs.getMetaData();??
  • ????????????while?(rs.next())??
  • ????????????{??
  • ????????????????T?t?=?cls.newInstance();??
  • ????????????????for?(int?i?=?0;?i?<?rsMetaData.getColumnCount();?i++)??
  • ????????????????{??
  • ????????????????????String?columnName?=?rsMetaData.getColumnName(i?+?1);??
  • ????????????????????Object?columnVal?=?rs.getObject(i?+?1);??
  • ????????????????????//?這個field是類加載器級別的,用于管理其類的屬性??
  • ????????????????????Field?field?=?cls.getDeclaredField(columnName);??
  • ????????????????????//?設置這個屬性可以訪問??
  • ????????????????????field.setAccessible(true);??
  • ????????????????????field.set(t,?columnVal);??
  • ????????????????}??
  • ????????????????rstList.add(t);??
  • ????????????}??
  • ????????????return?rstList;??
  • ????????}??
  • ????????catch?(SQLException?e)??
  • ????????{??
  • ????????????e.printStackTrace();??
  • ????????}??
  • ????????catch?(InstantiationException?e)??
  • ????????{??
  • ????????????e.printStackTrace();??
  • ????????}??
  • ????????catch?(IllegalAccessException?e)??
  • ????????{??
  • ????????????//?TODO?Auto-generated?catch?block??
  • ????????????e.printStackTrace();??
  • ????????}??
  • ????????catch?(SecurityException?e)??
  • ????????{??
  • ????????????//?TODO?Auto-generated?catch?block??
  • ????????????e.printStackTrace();??
  • ????????}??
  • ????????catch?(NoSuchFieldException?e)??
  • ????????{??
  • ????????????//?TODO?Auto-generated?catch?block??
  • ????????????e.printStackTrace();??
  • ????????}??
  • ??????????
  • ????????return?rstList;??
  • ????}??
  • ??????
  • ????public?void?releaseJdbc()??
  • ????{??
  • ??????????
  • ????????try??
  • ????????{??
  • ????????????//后生成的先釋放掉??
  • ????????????if?(rs?!=?null)??
  • ????????????{??
  • ????????????????rs.close();??
  • ????????????}??
  • ????????????if?(pstm?!=?null)??
  • ????????????{??
  • ????????????????pstm.close();??
  • ????????????}??
  • ????????????if?(conn?!=?null)??
  • ????????????{??
  • ????????????????conn.close();??
  • ????????????}??
  • ????????}??
  • ????????catch?(SQLException?e)??
  • ????????{??
  • ????????????e.printStackTrace();??
  • ????????}??
  • ??????????
  • ????}??
  • }??

  • Test.java

    [java]?view plaincopy
  • package?test;??
  • ??
  • import?java.util.ArrayList;??
  • import?java.util.List;??
  • import?java.util.Map;??
  • ??
  • import?bean.User;??
  • ??
  • import?utl.jdbcUtil;??
  • ??
  • public?class?Test??
  • {??
  • ??????
  • ????/**?
  • ?????*?@param?args?
  • ?????*/??
  • ????public?static?void?main(String[]?args)??
  • ????{??
  • ????????jdbcUtil?jUtilTest?=?new?jdbcUtil();??
  • ????????jUtilTest.getConnection();??
  • ????????//?sql語句通配符對應的字段??
  • ????????List<Object>?params?=?new?ArrayList<Object>();??
  • ????????//?創建表??
  • ????????String?createTable?=??
  • ????????????"create?table?if?not?exists?userinfo?(id?int?primary?key?auto_increment,username?varchar(64),pswd?varchar(64))";??
  • ????????jUtilTest.updateDB(createTable,?null);??
  • ??????????
  • ????????//?插入數據??
  • ????????for?(int?i?=?0;?i?<?10;?i++)??
  • ????????{??
  • ????????????String?insertOne?=?"insert?into?userinfo?(username,pswd)?values?(?,?)";??
  • ????????????params.clear();??
  • ????????????params.add("byd"?+?i);??
  • ????????????params.add("123"?+?i);??
  • ????????????jUtilTest.updateDB(insertOne,?params);??
  • ????????}??
  • ??????????
  • ????????//?刪除一條數據,sql語句對大小寫不敏感,delete/Delete/DELETE等均可??
  • ????????String?deleteOne?=?"DeLete?from?userinfo?where?username?=??";??
  • ????????params.clear();??
  • ????????params.add("byd0");??
  • ????????jUtilTest.updateDB(deleteOne,?params);??
  • ??????????
  • ????????//?改變數據??
  • ????????String?updateOne?=?"update?userinfo?set?pswd?=???where?username?=?";??
  • ????????params.clear();??
  • ????????params.add("bydxxoo");??
  • ????????params.add("byd");??
  • ????????jUtilTest.updateDB(updateOne,?params);??
  • ??????????
  • ????????//?查詢一條數據??
  • ????????String?findOne?=?"select?*?from?userinfo?where?username?=??";??
  • ????????//?notice:數據庫的列下標是從1開始計數的??
  • ????????params.clear();??
  • ????????params.add("byd2");??
  • ????????Map<String,?Object>?rstOne?=?jUtilTest.QueryDB(findOne,?params);??
  • ????????System.out.println("-->"?+?rstOne);??
  • ??????????
  • ????????//?查詢多條數據??
  • ????????String?findMore?=?"select?*?from?userinfo";??
  • ????????List<Map<String,?Object>>?rstMore?=?jUtilTest.QueryMoreDB(findMore,?null);??
  • ????????System.out.println("-->"?+?rstMore);??
  • ??????????
  • ????????//?反射查詢一條數據??
  • ????????String?findOneRefl?=?"select?*?from?userinfo?where?username?=?";??
  • ????????params.clear();??
  • ????????params.add("byd2");??
  • ????????User?userOne?=?jUtilTest.QueryDBObj(findOneRefl,?params,?User.class);??
  • ????????System.out.println("-->"?+?userOne);??
  • ??????????
  • ????????//?反射查詢多條數據??
  • ????????String?findMoreRefl?=?"select?*?from?userinfo";??
  • ????????List<User>?userMore?=?jUtilTest.QueryDBMoreObj(findMoreRefl,?null,?User.class);??
  • ????????System.out.println("-->"?+?userMore);??
  • ??????????
  • ????????//?刪除表??
  • ????????//?String?sql3?=?"delete?from?userinfo";??
  • ????????//?jUtilTest.updateDB(sql3,?null);??
  • ????????//?notice:斷開數據庫連接前,要釋放一些資源??
  • ????????jUtilTest.releaseJdbc();??
  • ????}??
  • ??????
  • }??

  • User.java

    [java]?view plaincopy
  • package?bean;??
  • public?class?User??
  • {??
  • ????private?int?id;??
  • ????private?String?username="";??
  • ????@Override??
  • ????public?String?toString()??
  • ????{??
  • ????????return?"User?[id="?+?id?+?",?username="?+?username?+?",?pswd="?+?pswd?+?"]";??
  • ????}??
  • ????private?String?pswd="";??
  • ????public?int?getId()??
  • ????{??
  • ????????return?id;??
  • ????}??
  • ????public?void?setId(int?id)??
  • ????{??
  • ????????this.id?=?id;??
  • ????}??
  • ????public?String?getUsername()??
  • ????{??
  • ????????return?username;??
  • ????}??
  • ????public?void?setUsername(String?username)??
  • ????{??
  • ????????this.username?=?username;??
  • ????}??
  • ????public?String?getPswd()??
  • ????{??
  • ????????return?pswd;??
  • ????}??
  • ????public?void?setPswd(String?pswd)??
  • ????{??
  • ????????this.pswd?=?pswd;??
  • ????}??
  • }??

  • ======================================================華麗的分隔符==============================================================

    下面在說下安裝mysql遇到的問題:

    MySql安裝包:http://pan.baidu.com/share/link?shareid=2375321572&uk=3056808396

    1.安裝MySQl-5.5.22老是最后一步開在start Service
    安裝的 MySQL 5.1.48 或是 MySQL 5.5.8,配置好最后點擊 Execute 按鈕了,但是進行不到 Start service 這一步。檢查了下 MySQL 系統服務已添加,但是無法啟動,手工也不行。這時候用事件查看器可以看到程序事件里有幾個來自于 MySQL 的錯誤:?

    Plugin 'InnoDB' registration as a STORAGE ENGINE failed.?
    Unknown/unsupported table type: INNODB?

    原來是因為這兩版本的 MySQL 默認使用了支持事物的 INNODB 引擎,打開 my.ini 文件,在 MySQL 的安裝文件夾, 如 c:program filesMySQL 中,看到:?

    ?

    default-storage-engine=INNODB?
    解決辦法是把該設置改為?

    default-storage-engine=MYISAM?

    ?

    仍然使用 MyISAM 作為默認的數據庫引擎,保存 my.ini 文件,然后手工啟動 MySQL 服務,成功;再把剛剛的配置窗口關掉就行了。?
    你完全可以在創建數據庫時指定所創建數據庫所用的數據庫引擎,或創建表時所用的數據庫引擎,或者創建后再更改都可以。?
    你可以再次回憶一下剛剛配置的過程:?
    安裝的最后一個步驟,在點 Finish 按鈕時,可以選擇 Configure the MySQL Server now,或者是從開始菜單里直接運行 MySQL 的 MySQL Server Instance Configuration Wizard 來進行配置數據庫,在選擇 database usage 時有三個選項:?

    1) Multifunctional Database?
    2) Transactional Database Only?
    3) No-Transactional Database Only?

    默認是第一項,選第二項也會讓數據庫默認的引擎為 INNODB,生成的 my.ini 文件里都會是 default-storage-engine=INNODB。至于在 my.ini 中注釋掉了 --skip-innodb 并不太會影響到數據庫的啟動,只是決定了數據庫的事物特性。?

    那么在最后一步 Processing configuration ... 里寫完 my.ini 文件后,進行到 Start service 就不動了,也就是啟動不了 MySQL 服務,在系統服務里已經加了 MySQL 服務名。?

    如果你這一步選擇的是第三項,不使用支持事件的數據庫,那么在 my.ini 文件里就是 default-storage-engine=MYISAM,那么你也很幸運,能順利配置成功,并啟動好數據庫。不過這將使你不能使用 INNODB 引擎(ERROR 1286 (42000): Unknown table engine 'InnoDB'),其實也就是把 my.ini 中的 skip-innodb 給啟用了,你可以把它再次注釋掉試試事物。?

    作者 mywaylife

    如果還是不能解決可以參考下面的方法:

    安裝MySQL時無法啟動服務(could not start the service )?

    1、建議使用360卸載已經安裝的mysql數據庫,因為360會查看相關的注冊信息,卸載比較徹底。?
    2、檢查3306端口是否已經占用,如果已經占有,殺死此進程。?
    3、查看服務列表中,是否還有mysql的服務進程。?
    4、要確保安裝目錄的訪問權限是everyone,這里我建議不要把mysql安裝的c盤中,因為xp有時候為了系統安全,會限制文件夾的訪問權限。?
    5、建議安裝在干凈的文件夾里,如果安裝在上次安裝過的文件夾,建議刪除文件夾下的所有文件。?

    mysql安全設置后導致mysql無法運行,建議重置運行mysql服務的登陸用戶名密碼,然后進服務里面重新輸入剛修改的用戶名與密碼,這樣就可以了

    如果還是不可以,我們可以通過查看錯誤日志的方法解決:

    mysql錯誤日志位于mysql安裝目錄下的擴展名為.err的文件,復制一份通過記事本等工具打開即開,如果err日志過大建議不要用記事本,可以用editplus打開?

    詳細出處參考:http://www.jb51.net/article/30866.htm

    ?

    2.利用Navigate for MySql工具查看數據庫,保存數據庫等操作時報 ?“can't creat/write to file”

    解決辦法:

    打開MySql的安裝路徑:找到my.ini,在其中的[mysqld]下面添加?tmpdir="C:/Program Files/MySQL/MySQL Server 5.5/Temp",后面指定的Temp路徑,沒有的話先自己建一個在指定,路徑注意分隔符是否正確。

    或者:
    1、C:\Windows\TEMP 文件夾權限不夠,至少也要給出 USERS 組的可讀可寫權限;------------你的服務器裝了 MCAFEE 殺毒軟件,它的訪問保護禁止了 TEMP 文件可寫,修改訪問保護設置;
    2、C:\Windows\TEMP 文件夾的磁盤滿了,文件寫不進去了,清空 TEMP 文件夾;-------------------還是MCAFEE殺毒軟件的問題,解決步驟:按訪問掃描屬性 - 所有進程 - 檢測項 - 掃描文件(在寫入磁盤時 )勾去掉就好了。

    3、第三方限制(如殺毒軟件的限制)----------------------------關閉殺毒試試

    ====================================================================================================================================

    本人技術很菜,如果文中存在錯誤,還請給位多多指出!

    轉載于:https://www.cnblogs.com/tfy1332/p/3655797.html

    總結

    以上是生活随笔為你收集整理的Android之jdbc的学习的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    久久精品视频在线 | 免费黄色一区 | 在线免费高清一区二区三区 | 久久久久国产精品午夜一区 | 91chinesexxx| 亚洲欧美视频在线观看 | 91最新在线 | 国产一区二区在线观看视频 | 精品字幕 | 午夜视频在线观看一区二区 | 丝袜美腿在线播放 | 亚洲天堂网在线视频观看 | 午夜精品视频免费在线观看 | 人人超碰免费 | 看av免费 | 天堂在线视频中文网 | 午夜电影一区 | av在线播放亚洲 | 一区二区视频在线免费观看 | 欧美aaa一级 | 亚洲黄色网络 | 久久视频在线观看中文字幕 | 国产精品久久亚洲 | 国产亚洲婷婷 | 最近中文字幕高清字幕免费mv | 色婷婷www | 在线看岛国av | 天天干国产 | 黄色软件大全网站 | 一区二区理论片 | 免费日韩在线 | 中文字幕一区二区三 | 日本一区二区三区视频在线播放 | 欧美大片mv免费 | 色综合 久久精品 | 亚洲欧洲中文日韩久久av乱码 | 香蕉成人在线视频 | 麻豆精品传媒视频 | 国偷自产视频一区二区久 | 99在线播放 | 亚洲三级毛片 | 天天激情综合 | 久久免费视频在线 | 美女国产网站 | 国产亚洲一区 | 天天综合狠狠精品 | 欧美一二三视频 | 天天干,天天操 | 在线观看中文字幕2021 | 亚洲国产成人av网 | 在线观看的黄色 | 精品国产理论 | 中文字幕第一页在线视频 | 欧美另类视频 | av免费网站| 欧美日韩一级在线 | 国产在线a| 日日夜精品| av亚洲产国偷v产偷v自拍小说 | 91精品视频观看 | 日本一区二区三区免费观看 | av福利在线 | 伊人成人激情 | 欧美一区二区三区在线视频观看 | 欧美日韩免费一区二区 | 欧美亚洲三级 | 五月婷婷天堂 | 中文字幕国产一区 | 欧美成人理伦片 | 国产精品成人自产拍在线观看 | 91精品在线免费视频 | 国产精品乱码一区二三区 | 精品二区久久 | www日| 亚洲精选在线 | 色88久久| 黄色91免费观看 | 美女免费网站 | 国产精品久久久久三级 | 亚洲欧美日韩一区二区三区在线观看 | 欧美日韩中字 | 国产午夜一区二区 | 国产精品久久久久久久7电影 | 99热这里只有精品久久 | 在线看毛片网站 | 99精彩视频在线观看免费 | 在线a视频免费观看 | 免费久久99精品国产 | 欧美成年网站 | 最近日本字幕mv免费观看在线 | 久久婷婷国产色一区二区三区 | 国产精品久久久久久久久毛片 | 激情综合五月天 | 东方av在| 久久99久久99久久 | 国产91在线播放 | 在线观看成人福利 | 狠狠色丁香婷婷综合欧美 | 久久免费视频一区 | 欧美性爽爽 | 国产婷婷久久 | 日本韩国在线不卡 | 国产精品久久久久四虎 | 久久免费视频3 | 日日碰夜夜爽 | 超碰人人91 | 悠悠av资源片 | 日韩激情小视频 | 91在线欧美| 人人干人人超 | 操操操av | 国产麻豆视频在线观看 | 日日夜夜操操 | 免费视频91| 视频在线观看国产 | 国产精品1区2区3区在线观看 | 国产黄免费看 | 黄色一级大片在线观看 | 久久老司机精品视频 | 99re国产| 玖操 | 国产精品成人久久久久 | 精品一区在线看 | 色婷婷六月天 | 中文字幕在线视频免费播放 | 精品亚洲成a人在线观看 | 少妇高潮流白浆在线观看 | 久草在线 | 91精品国产一区二区在线观看 | 日韩精品一区二区三区高清免费 | 国产在线国偷精品产拍 | 久久久午夜影院 | 中文字幕在线视频网站 | 日韩啪视频 | 免费一级特黄录像 | 亚洲精品色视频 | 麻豆免费在线播放 | 九九影视理伦片 | 久久久久久久久福利 | 亚洲欧美日韩国产 | 日韩在线第一区 | 91成人蝌蚪 | av短片在线观看 | 婷婷精品进入 | 亚洲精品中文字幕视频 | 激情视频区 | 婷婷激情综合五月天 | 91精品久久久久久久久 | 亚洲国产日韩精品 | 久久久污 | 91福利视频免费 | 国产一级电影免费观看 | 狠狠干五月天 | 怡红院成人在线 | 中文字幕电影一区 | 91成人免费在线视频 | 在线色亚洲 | 亚洲成aⅴ人片久久青草影院 | 国产明星视频三级a三级点| 久久久久久久久久伊人 | 中文字幕视频观看 | 去干成人网| 精品国产伦一区二区三区免费 | av线上免费观看 | 96av视频 | 日日天天狠狠 | 亚洲高清激情 | 91成人精品 | 在线观看日韩av | 国产第页 | 日韩一区正在播放 | 免费欧美| 黄色的视频 | 在线成人小视频 | 99欧美 | 日韩性xxxx| 久草视频手机在线 | 欧美五月婷婷 | 亚洲国产大片 | 国产精品久久久久久麻豆一区 | 在线观看视频日韩 | 国产成人精品久久久久 | 日韩理论电影网 | 欧美色噜噜噜 | 香蕉网在线观看 | 在线免费观看视频你懂的 | 久久视频一区二区 | 欧美一区免费观看 | 超碰人人av | 粉嫩av一区二区三区免费 | 国产精品精品视频 | 亚洲免费观看在线视频 | 久久精品日产第一区二区三区乱码 | 国产热re99久久6国产精品 | 在线观看91| 视频精品一区二区三区 | 国产精品成人自产拍在线观看 | 久久精品男人的天堂 | 九色精品免费永久在线 | www.久久久精品 | 蜜臀久久99精品久久久无需会员 | av免费观看网址 | 国产在线精品区 | 日韩久久久久久久 | 久久久国产精品成人免费 | 四虎成人精品永久免费av | 色成人亚洲网 | 国产亚洲激情视频在线 | 高清精品视频 | 久久综合九色欧美综合狠狠 | 婷婷激情综合五月天 | 91一区啪爱嗯打偷拍欧美 | 一级特黄av| 成人午夜网 | 日韩最新av | 91精品久久久久久粉嫩 | 涩涩资源网 | 国产特级毛片aaaaaa高清 | 国产日产欧美在线观看 | 日产av在线播放 | 夜夜干夜夜 | 高清av在线 | 伊人婷婷 | 丁香午夜| 人人插人人舔 | 91视频大全| 日韩精品视频免费专区在线播放 | 成人av在线亚洲 | 久草视频免费观 | 日韩欧美高清 | 久久露脸国产精品 | 国产欧美最新羞羞视频在线观看 | 亚洲国产中文字幕在线视频综合 | 国产在线黄色 | 亚洲天堂免费视频 | 日本久久视频 | 福利视频网站 | 黄网站色 | 狠狠色免费 | 天天曰夜夜爽 | 国产成人av片| 国产精品久久久区三区天天噜 | 国产一级二级在线 | 国产精品久久久久久一二三四五 | 色综合五月天 | 国内视频1区 | 国产 日韩 中文字幕 | 黄色www| 国产亚洲精品美女 | 黄色影院在线免费观看 | 91香蕉视频黄色 | 一区二区三区韩国免费中文网站 | 日韩美女一级片 | 婷婷在线免费 | 国产欧美精品一区二区三区 | 91精品国产高清自在线观看 | 精品国产免费人成在线观看 | 亚洲国产资源 | 色婷婷狠狠干 | 黄色一级网 | 欧美日韩性视频 | 国内精品久久久久久 | 亚洲一区美女视频在线观看免费 | 免费看片网站91 | 超碰97人| 国产精品久久久久久影院 | 成年人视频在线免费 | 91视频中文字幕 | av再线观看 | 国产精品久久久久久久久久了 | 亚洲高清视频在线观看免费 | 激情视频一区二区三区 | 久久福利在线 | 成人久久久久 | 天天久久夜夜 | 激情综合电影网 | 色综合色综合久久综合频道88 | 免费在线观看一级片 | 久久99网 | 国产成人精品免高潮在线观看 | 狠狠操狠狠干天天操 | 成人一区电影 | 二区三区在线观看 | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 久久夜色精品国产欧美乱 | 亚洲国产成人久久 | 99r在线播放 | 久久涩视频| 国产一级特黄电影 | 久久亚洲国产精品 | 婷婷激情5月天 | 超碰精品在线 | 2021国产精品 | 超碰97人| 久久精品99国产精品亚洲最刺激 | 国产一级在线观看视频 | 久久九九精品 | 国产视频手机在线 | 一级α片免费看 | 久久免费高清视频 | 808电影免费观看三年 | 国产视频一区二区在线观看 | 中文字幕 国产 一区 | 日韩久久精品 | 日韩在线网址 | 精品一区二区免费在线观看 | 久久成人麻豆午夜电影 | 国产精品一区二区你懂的 | 婷婷六月天在线 | 四虎精品成人免费网站 | 中国一级片在线播放 | 久久综合成人 | 午夜精品一区二区三区在线视频 | 伊人久久精品久久亚洲一区 | 国产美女视频 | 狠狠久久 | 久久艹艹 | 成人av在线直播 | 久久免费高清视频 | 国产五月色婷婷六月丁香视频 | 夜色资源站wwwcom | 亚洲毛片久久 | 香蕉视频国产在线 | 日韩欧美在线不卡 | 在线观看日本高清mv视频 | www.玖玖玖 | 国产精品一区二区三区99 | 欧美精品在线观看一区 | 亚洲精品美女久久 | 嫩小bbbb摸bbb摸bbb | 五月婷婷综合在线 | 日本最新高清不卡中文字幕 | 国产不卡一 | 青青河边草观看完整版高清 | 亚洲免费观看在线视频 | 91人人视频在线观看 | 亚洲精品美女久久 | 波多野结衣电影一区 | 亚洲精品成人免费 | www.婷婷色 | 91看片淫黄大片在线播放 | www国产亚洲 | 亚洲精品mv在线观看 | 91在线免费观看网站 | 日韩精品久久久免费观看夜色 | 国产精品九九久久久久久久 | 国产香蕉97碰碰碰视频在线观看 | 久久不射影院 | 日韩一区二区三区免费视频 | zzijzzij亚洲成熟少妇 | 中文字幕高清有码 | 福利视频第一页 | 97视频在线观看视频免费视频 | 色成人亚洲 | 人人爽影院| www黄色com | 欧美国产日韩一区二区三区 | 综合精品久久 | 日韩超碰在线 | av中文字幕在线看 | 日韩一区二区三区观看 | 九九热视频在线播放 | 中文字幕在线观看亚洲 | 欧美一级片在线观看视频 | 国产一区久久久 | 日本aa在线| 久久久久久久久影视 | 久久五月婷婷丁香 | 色偷偷网站视频 | 精品成人在线 | 国产小视频免费在线网址 | 国产精品18久久久久久久久 | 久久久久久久久久久久久国产精品 | 中文日韩在线 | 亚洲毛片一区二区三区 | 日韩理论电影在线 | 色婷婷免费视频 | 欧美xxxxx在线视频 | 成人片在线播放 | 97超碰福利久久精品 | 欧美激情一区不卡 | 日本3级在线观看 | 久久深爱网 | 女人18片毛片90分钟 | 中文字幕美女免费在线 | 91视频 - x99av | 成人动漫一区二区三区 | 色姑娘综合天天 | 久久久久久久久久久网站 | 超碰公开在线 | 永久黄网站色视频免费观看w | 久久综合桃花 | 欧美最爽乱淫视频播放 | 久久精品人人做人人综合老师 | 亚洲激情在线观看 | 亚洲精品一区中文字幕乱码 | 免费毛片一区二区三区久久久 | 久久9999久久免费精品国产 | 婷婷在线资源 | 毛片的网址 | 免费观看v片在线观看 | 国产精品久久久久久模特 | 丰满少妇在线观看资源站 | 日韩精品在线看 | 色九九视频| 四虎成人精品永久免费av | www五月| 精品成人在线 | 五月天堂色 | 国产精品毛片一区视频播不卡 | 亚洲精品视频播放 | 久久五月激情 | 日日夜夜中文字幕 | 精品久久久久一区二区国产 | 在线播放一区 | 国产在线理论片 | 免费精品人在线二线三线 | 天天操综 | 美女免费黄网站 | 亚洲精品国产精品国自 | 视频在线观看一区 | 四虎精品成人免费网站 | 久久福利精品 | 久久久污| 国产精品久久免费看 | 亚洲欧美日韩精品久久奇米一区 | 一区二区三区在线视频111 | 婷婷激情综合网 | 亚色视频在线观看 | 婷婷六月在线 | 天天做天天干 | 粉嫩一区二区三区粉嫩91 | 国产人成免费视频 | 中文字幕久久亚洲 | 亚洲不卡av一区二区三区 | 国产黄免费 | 免费试看一区 | 在线视频一二三 | 在线观看视频亚洲 | av黄色免费网站 | 一区二区 久久 | 碰超在线观看 | 啪嗒啪嗒免费观看完整版 | 国产手机视频精品 | 久久国产免费 | 中文国产在线观看 | 亚洲精品女| 日韩精品久久久久久久电影99爱 | 成人久久久久久久久久 | 美女黄频网站 | 成人试看120秒 | 人人精品久久 | 久久99久久99精品免观看粉嫩 | 久草在线观看视频免费 | 国内精品久久久久久中文字幕 | 在线观看免费黄色 | 色综合天天天天做夜夜夜夜做 | 91精品国产91久久久久福利 | 肉色欧美久久久久久久免费看 | 探花在线观看 | 日韩爱爱片 | 久久99精品久久久久久 | 在线观看电影av | 成人a免费 | 国产又粗又猛又黄又爽的视频 | 91在线精品观看 | 国产精品女同一区二区三区久久夜 | 黄色成人在线网站 | 免费三级黄色片 | 天天激情站 | 国产一区二区精品91 | 久久97久久97精品免视看 | 色网免费观看 | 天天操天天干天天 | 依人成人综合网 | 免费在线观看av电影 | 国产中文字幕av | 日韩电影一区二区在线观看 | 国产麻豆精品95视频 | 伊人春色电影网 | 国产九九九视频 | 在线视频欧美日韩 | 国产区精品视频 | 在线亚洲高清视频 | 五月婷婷丁香网 | 精品国产免费一区二区三区五区 | av一级二级 | 久久久精品国产一区二区电影四季 | 色射色 | 日本99精品| 91精品视屏 | 国产91精品一区二区麻豆网站 | 久久久毛片 | 中文 一区二区 | 看片在线亚洲 | 欧美日韩另类视频 | 国产高清视频在线免费观看 | 黄网站色欧美视频 | 欧美日韩精品在线免费观看 | 久精品视频在线 | 在线国产黄色 | 碰超在线 | 正在播放亚洲精品 | 99夜色| 国产成人福利在线观看 | 最新日本中文字幕 | 天天干天天射天天操 | 国产视频中文字幕 | 中文字幕在线日 | 久久视频6 | 区一区二在线 | 久久国语露脸国产精品电影 | 日韩电影一区二区三区 | 久久视频在线看 | 中文字幕av专区 | 中文字幕精品一区 | 久久99热这里只有精品国产 | 亚洲国产一区在线观看 | 91爱看片 | 国精产品满18岁在线 | 国产精品欧美久久久久无广告 | 成人免费一级片 | 中文成人字幕 | 国产精品男女视频 | 国产精品99页 | 久久国产亚洲精品 | 91av手机在线 | 超碰大片 | 久草在线视频网站 | 国产1区2区3区在线 亚洲自拍偷拍色图 | 91av电影网 | 天干啦夜天干天干在线线 | 久久精品中文视频 | 欧美一二三视频 | 天天激情站| 99久久精品午夜一区二区小说 | 毛片网站观看 | 国产精品久久久久久久久久久久冷 | 欧美成亚洲 | 色婷婷亚洲综合 | 超碰av在线播放 | 五月激情丁香婷婷 | 久久官网 | 国产婷婷vvvv激情久 | 国产美女视频网站 | 在线观看一级片 | 精品久久片 | av网站免费看 | 久久久国产视频 | 久久婷婷视频 | 国产精品女人久久久久久 | 成人三级网站在线观看 | 狠狠躁18三区二区一区ai明星 | 中文字幕视频一区二区 | 日韩av免费在线看 | 中文字幕国语官网在线视频 | 国产永久免费观看 | av电影不卡 | 日韩精品不卡 | 日韩在线观看三区 | 国产视频精品久久 | 99视频在线免费看 | 日本在线视频网址 | 亚洲成人av免费 | 午夜精品视频免费在线观看 | 精品一区二区av | 久久婷婷网 | 天天综合网天天综合色 | 成人在线观看资源 | 久久精品视频观看 | 亚洲乱亚洲乱亚洲 | 超碰在线网 | 国产亚洲成av人片在线观看桃 | 国产精品1区2区3区 久久免费视频7 | 麻豆国产视频下载 | 大荫蒂欧美视频另类xxxx | 精品亚洲免费 | 天天激情站| 国产99久久久久 | 中文字幕在线播放日韩 | 国产中文字幕视频 | 精品一区二区综合 | 在线精品一区二区 | av官网在线 | 国产精品久久久久久欧美 | 国产精品麻 | 91视频麻豆 | 久久精品国产一区二区三区 | 在线免费观看的av网站 | 中文字幕在线免费97 | 国产精品高清在线观看 | 精品影院 | 992tv在线| 亚洲三级视频 | 日本精品视频一区二区 | 亚洲精品国产精品国自产观看 | 久草香蕉在线 | 国产精品久久 | 一区二区三区久久精品 | 久久观看免费视频 | 黄色一级大片免费看 | 成人禁用看黄a在线 | 五月婷婷毛片 | 亚洲第五色综合网 | 日韩激情综合 | 亚洲国产丝袜在线观看 | 国产 日韩 在线 亚洲 字幕 中文 | 国产尤物在线观看 | 成人天堂网 | 亚洲精品国产第一综合99久久 | 久久成年人网站 | 手机在线观看国产精品 | 成人av一二三区 | 欧美成年黄网站色视频 | 亚洲精品人人 | 国产精品美 | 在线看小早川怜子av | av成年人电影 | 婷婷综合成人 | 亚洲电影自拍 | 精品高清美女精品国产区 | 国产高清 不卡 | www.国产毛片| 成人黄色大片在线观看 | 在线观看一级 | 在线国产观看 | 91亚洲精品久久久蜜桃借种 | 深爱婷婷激情 | 久久免费片 | 免费a现在观看 | 麻豆极品 | 亚洲精品午夜视频 | 黄色片视频免费 | 欧美国产高清 | 高清视频一区二区三区 | 日韩在线一二三区 | 91精品国产91 | 日日久视频 | 国产在线视频一区 | 四虎免费在线观看视频 | 在线免费av观看 | 国产一级精品在线观看 | 2019精品手机国产品在线 | 2024av在线播放| 欧美日本日韩aⅴ在线视频 插插插色综合 | 久草网站 | 国产精品福利在线播放 | 精品一区在线 | 亚洲精品久久久久久久不卡四虎 | 成年人在线播放视频 | 日韩在线视频免费播放 | 日本xxxx裸体xxxx17 | 天天在线操 | 婷婷 综合 色 | 在线观看网站黄 | 国产最新精品视频 | 欧美一级片免费播放 | 亚洲高清国产视频 | 黄www在线观看 | 国产视频一区二区在线播放 | 天天躁日日躁狠狠躁av麻豆 | 国产精品九九久久99视频 | 91成人观看| 在线观看成人国产 | 精品日韩在线一区 | www.久久91| 91精品国产综合久久婷婷香蕉 | 国产精品成人久久久 | 欧美另类高潮 | 在线视频免费观看 | 韩国精品福利一区二区三区 | 在线成人av | 激情综合网五月激情 | 国产精在线 | 亚洲黄色激情小说 | 中文字幕在线色 | 香蕉影院在线观看 | 精品久久久久久综合 | 91av视屏| 四虎免费在线观看 | 精品国产一区二区三区久久久 | 久久99精品波多结衣一区 | 久久xx视频| 色综合国产 | 草樱av| 国产 日韩 欧美 中文 在线播放 | 特级西西444www大胆高清无视频 | 亚洲性视频 | bbbb操bbbb | 中文字幕久久精品亚洲乱码 | 亚洲成a人片综合在线 | 日韩v欧美v日本v亚洲v国产v | 国产日韩在线观看一区 | 99热这里只有精品1 av中文字幕日韩 | av在线播放观看 | www.久久com| 中文字幕av免费在线观看 | 久久综合久久综合久久综合 | 综合久久久久 | 精品在线观看一区二区三区 | 日韩一级电影在线 | 国产99一区视频免费 | 国产视频99 | 黄色成人av网址 | 久久国产高清视频 | av免费线看| 97涩涩视频 | 久久久国产精品久久久 | 99精品视频免费看 | 欧美视频一区二 | 91精品免费视频 | 97人人看 | 99热这里有 | 五月综合色婷婷 | 在线成人av | aⅴ视频在线 | 日韩av中文在线观看 | 日本性动态图 | 99这里只有精品视频 | 欧美一区二视频在线免费观看 | 中文字幕乱码日本亚洲一区二区 | 国产日韩精品一区二区三区在线 | 成年人在线观看视频免费 | 亚洲资源视频 | 国产一区视频导航 | 久草视频在线免费看 | 国产专区精品 | 精品国产伦一区二区三区免费 | 成人黄色大片 | 激情婷婷在线观看 | 四虎影院在线观看av | 国产欧美精品一区二区三区 | 国产亚洲一区 | 97超碰资源 | 国产不卡精品 | 久久国产影院 | 欧美成人精品欧美一级乱 | 成人黄色免费在线观看 | 六月丁香色婷婷 | 亚洲激情av | 91精品视频在线看 | 狠狠狠色丁香综合久久天下网 | 久久精品视频日本 | 国产日韩欧美在线免费观看 | 久久视频国产精品免费视频在线 | 久久久国产精品一区二区三区 | 在线性视频日韩欧美 | 永久中文字幕 | 51久久成人国产精品麻豆 | 夜夜爽88888免费视频4848 | 日本中文字幕影院 | 天天综合网天天 | 91精品国产综合久久福利 | 亚洲黄a | 国产h在线播放 | 中文字幕中文 | 在线观看av的网站 | 五月av在线 | 亚洲最大成人网4388xx | 国产一级大片免费看 | 国内免费久久久久久久久久久 | 久久全国免费视频 | 在线播放视频一区 | 亚洲涩综合 | 亚洲一级性 | 少妇做爰k8经典 | 免费精品在线观看 | 国产福利精品视频 | 亚洲一级性 | www激情com| 97精品国产一二三产区 | 五月婷婷在线综合 | 精品国产一区二区三区久久 | 久久久亚洲麻豆日韩精品一区三区 | 国产在线自 | 日韩成人一级大片 | 亚洲精品美女在线 | 偷拍视频一区 | av免费在线播放 | 曰韩在线 | 99视| 五月花婷婷 | 国产一区福利在线 | 中国一级片在线观看 | 丁香花五月 | 精品二区视频 | 欧美一级裸体视频 | 久久精品一二三区 | 四虎影视久久久 | 91完整视频 | 亚洲最大成人免费网站 | 九九久久久 | 久久在线一区 | 91视频com| 日本丶国产丶欧美色综合 | 国产精品视频在线观看 | 欧美精品视 | 久久久久女人精品毛片 | 久久久久成人精品 | 亚洲精品国产精品国自产观看浪潮 | 91激情| 最近高清中文在线字幕在线观看 | 看v片| 四虎最新入口 | 日韩字幕| 国产91精品欧美 | 欧美日本不卡视频 | 成人黄色电影在线观看 | 日韩欧美高清在线 | 久久66热这里只有精品 | 一级免费黄视频 | 在线亚洲高清视频 | 久久网址| 91视频成人免费 | 久久视频一区二区 | 国产精品久久一卡二卡 | 亚洲欧美视频一区二区三区 | 久久精品视频18 | 毛片二区 | 99精品久久精品一区二区 | 91插插插免费视频 | 91福利试看| 国产一级电影免费观看 | 久久久久免费视频 | 国内99视频 | 欧美精品三级 | 国产一级片视频 | 99精品美女 | 在线观看免费福利 | 成人小电影在线看 | 免费久久精品视频 | 亚洲成av人片 | 夜夜视频欧洲 | 免费一区在线 | 精品国产欧美一区二区三区不卡 | 亚洲精品乱码久久久久久按摩 | 美女在线免费视频 | 国产91免费观看 | 国产精品区一区 | 久久久五月天 | 黄色小说免费在线观看 | 9免费视频 | 韩国一区视频 | 午夜精品久久 | 久久精品在线 | 日韩中文字幕电影 | 色婷丁香 | 麻豆传媒视频在线免费观看 | 免费a v在线 | 午夜精品一区二区三区免费视频 | 日韩a级黄色片 | 99热在线国产精品 | 成年人免费观看在线视频 | 在线电影 你懂得 | 天无日天天操天天干 | 手机看片国产日韩 | 亚洲精品国偷拍自产在线观看蜜桃 | 在线免费看黄色 | 日本一区二区三区免费观看 | 丁香视频全集免费观看 | 亚洲精品乱码久久久久久高潮 | 九九亚洲精品 | 五月丁色 | 国产精品刺激对白麻豆99 | 国产成人高清在线 | 五月色丁香 | 麻豆国产网站 | 最新国产福利 | 在线看污网站 | 天天爱天天操天天干 | 久草在线免费资源 | 在线黄av| 综合铜03| 免费在线| 精品国产一区二区三区久久久久久 | 国产精品白虎 | 久久久电影 | 天天躁天天躁天天躁婷 | 亚洲色图27p | 91精品1区 | 国产福利在线免费 | 在线观看视频免费播放 | 久久久www成人免费精品张筱雨 | 人人要人人澡人人爽人人dvd | 亚洲欧美精品一区 | 久久国产亚洲精品 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 成人精品国产免费网站 | 人人草人| 国产69精品久久久久久久久久 | 日韩精品免费一区二区在线观看 | av高清影院| 免费色av| 国产亚洲一区二区三区 | 亚洲视频电影在线 | 成人性生交大片免费观看网站 | 9999在线观看 | 欧美最新另类人妖 | 三级黄色片在线观看 | 91麻豆精品国产自产在线游戏 | 日韩网站视频 | 欧美在线free | 天天射天天干天天插 | 国产91精品高清一区二区三区 | 黄色在线免费观看网址 | 国产手机av | 成 人 黄 色 视频播放1 | 日日麻批40分钟视频免费观看 | 亚洲国产成人精品在线 | a在线观看免费视频 | 91精品在线视频观看 | 日韩三级视频 | 在线观看911视频 | 国产精品久久久久久久久久久久久 | 国产97碰免费视频 | 人人草天天草 | 欧美一级片在线免费观看 | 国产精品免费人成网站 | 欧美一区二区在线刺激视频 | 国产亚洲情侣一区二区无 | 亚洲不卡av一区二区三区 | 成人a毛片 | 免费精品国产va自在自线 | 四虎永久网站 | 久久av不卡 | 美女国产精品 | 六月激情婷婷 | 国产视频资源在线观看 | 又黄又爽又无遮挡免费的网站 | 亚洲一区二区三区精品在线观看 | 色综合久久五月 | 日韩激情一二三区 | 免费观看第二部31集 | 色综合久久久久综合99 | 五月天综合网站 | 精品国产一区二区三区久久久蜜臀 | 国产精品久久99 | 黄色一集片 | 欧美视频一区二 | 国产精品第一 | 国产成人精品一区二区三区免费 | 黄色一级网 | 亚洲精品午夜久久久久久久 | 色综合久久久久综合体桃花网 | 欧日韩在线 | 在线观看日韩免费视频 | 国产91精品久久久久 | 99精品欧美一区二区蜜桃免费 | 在线免费日韩 | 国产99久久九九精品 | 免费在线观看亚洲视频 | 成人毛片在线观看视频 | 日韩午夜精品福利 | 欧美午夜精品久久久久久孕妇 | 日韩av成人在线 | 欧美福利精品 | 久久深夜福利免费观看 | 成年人国产视频 | 精品国产伦一区二区三区观看方式 | 蜜臀av网址| 91日韩免费 | 国产麻豆精品传媒av国产下载 | 久久视频免费在线观看 | v片在线看 | 成人动漫一区二区 | 在线久热 | 日韩成人邪恶影片 | 中文字幕 91 | bbbbb女女女女女bbbbb国产 | 黄视频色网站 | 天天综合导航 | 丁香色天天| 中文字幕在线观看一区二区 | 欧美日韩国产一区二区在线观看 | 一区视频在线 | 亚洲一级黄色大片 | 欧美精品国产综合久久 | 深爱婷婷激情 | 国产精品三级视频 | 日本中文一区二区 | 日本xxxxav | 日韩网站在线观看 | 免费在线黄色av | 免费在线看v | 精品国产91亚洲一区二区三区www | 国产精品a成v人在线播放 | 国产黄a三级三级三级三级三级 | 在线视频精品 | 天天干天天弄 | 五月婷婷网站 | 狠狠色丁香婷婷 | 成人欧美一区二区三区黑人麻豆 | 成年人国产精品 | 精品成人免费 | 一级欧美一级日韩 | 日韩在线在线 | 香蕉视频国产在线 | 日韩欧美在线综合网 |