生活随笔
收集整理的這篇文章主要介紹了
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
?? ????????????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);?? ?????????????? ????????????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)?? ????????{?? ?????????????? ????????????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?=?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)?? ????????{?? ?????????????? ????????????e.printStackTrace();?? ????????}?? ????????catch ?(SecurityException?e)?? ????????{?? ?????????????? ????????????e.printStackTrace();?? ????????}?? ????????catch ?(NoSuchFieldException?e)?? ????????{?? ?????????????? ????????????e.printStackTrace();?? ????????}?? ?????????? ????????return ?t;?? ????}?? ?????? ?????? ????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?=?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)?? ????????{?? ?????????????? ????????????e.printStackTrace();?? ????????}?? ????????catch ?(SecurityException?e)?? ????????{?? ?????????????? ????????????e.printStackTrace();?? ????????}?? ????????catch ?(NoSuchFieldException?e)?? ????????{?? ?????????????? ????????????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;?? ?????? ?????? ????Connection?conn;?? ?????? ?????? ????ResultSet?rs;?? ?????? ????public ?jdbcUtil(String?url,?String?username,?String?password)?? ????{?? ????????super ();?? ????????this .url?=?url;?? ????????this .username?=?username;?? ????????this .password?=?password;?? ????????try ?? ????????{?? ?????????????? ????????????Class.forName(driver).newInstance();?? ????????????System.out.println("驅動注冊成功" );?? ????????}?? ????????catch ?(ClassNotFoundException?e)?? ????????{?? ????????????e.printStackTrace();?? ????????}?? ????????catch ?(InstantiationException?e)?? ????????{?? ????????????e.printStackTrace();?? ????????}?? ????????catch ?(IllegalAccessException?e)?? ????????{?? ?????????????? ????????????e.printStackTrace();?? ????????}?? ????}?? ?????? ????public ?jdbcUtil()?? ????{?? ????????try ?? ????????{?? ?????????????? ????????????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);?? ?????????????? ????????????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)?? ????????{?? ?????????????? ????????????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?=?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)?? ????????{?? ?????????????? ????????????e.printStackTrace();?? ????????}?? ????????catch ?(SecurityException?e)?? ????????{?? ?????????????? ????????????e.printStackTrace();?? ????????}?? ????????catch ?(NoSuchFieldException?e)?? ????????{?? ?????????????? ????????????e.printStackTrace();?? ????????}?? ?????????? ????????return ?t;?? ????}?? ?????? ?????? ????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?=?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)?? ????????{?? ?????????????? ????????????e.printStackTrace();?? ????????}?? ????????catch ?(SecurityException?e)?? ????????{?? ?????????????? ????????????e.printStackTrace();?? ????????}?? ????????catch ?(NoSuchFieldException?e)?? ????????{?? ?????????????? ????????????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??{?? ?????? ????? ? ?? ????public ?static ?void ?main(String[]?args)?? ????{?? ????????jdbcUtil?jUtilTest?=?new ?jdbcUtil();?? ????????jUtilTest.getConnection();?? ?????????? ????????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);?? ????????}?? ?????????? ?????????? ????????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?=??" ;?? ?????????? ????????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);?? ?????????? ?????????? ?????????? ?????????? ?????????? ????????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的学习 的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔 網站內容還不錯,歡迎將生活随笔 推薦給好友。