您好,登錄后才能下訂單哦!
這篇文章運用簡單易懂的例子給大家介紹使用Android如何實現連接并使用MySQL數據庫,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
1.Android 連接MySQL數據庫
public class DBOpenHelper { private static String driver = "com.mysql.jdbc.Driver";//MySQL 驅動 private static String url = "jdbc:mysql://IP:3306/數據庫";//MYSQL數據庫連接Url private static String user = "root";//用戶名 private static String password = "root";//密碼 /** * 連接數據庫 * */ public static Connection getConn(){ Connection conn = null; try { Class.forName(driver);//獲取MYSQL驅動 conn = (Connection) DriverManager.getConnection(url, user, password);//獲取連接 } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return conn; } /** * 關閉數據庫 * */ public static void closeAll(Connection conn, PreparedStatement ps){ if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } if (ps != null) { try { ps.close(); } catch (SQLException e) { e.printStackTrace(); } } } /** * 關閉數據庫 * */ public static void closeAll(Connection conn, PreparedStatement ps, ResultSet rs){ if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } if (ps != null) { try { ps.close(); } catch (SQLException e) { e.printStackTrace(); } } if (rs != null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } } }
2.增刪改查
public class DBService { private Connection conn=null; //打開數據庫對象 private PreparedStatement ps=null;//操作整合sql語句的對象 private ResultSet rs=null;//查詢結果的集合 //DBService 對象 public static DBService dbService=null; /** * 構造方法 私有化 * */ private DBService(){ } /** * 獲取MySQL數據庫單例類對象 * */ public static DBService getDbService(){ if(dbService==null){ dbService=new DBService(); } return dbService; } /** * 獲取要發送短信的患者信息 查 * */ public List<User> getUserData(){ //結果存放集合 List<User> list=new ArrayList<User>(); //MySQL 語句 String sql="select * from user"; //獲取鏈接數據庫對象 conn= DBOpenHelper.getConn(); try { if(conn!=null&&(!conn.isClosed())){ ps= (PreparedStatement) conn.prepareStatement(sql); if(ps!=null){ rs= ps.executeQuery(); if(rs!=null){ while(rs.next()){ User u=new User(); u.setId(rs.getString("id")); u.setName(rs.getString("name")); u.setPhone(rs.getString("phone")); u.setContent(rs.getString("content")); u.setState(rs.getString("state")); list.add(u); } } } } } catch (SQLException e) { e.printStackTrace(); } DBOpenHelper.closeAll(conn,ps,rs);//關閉相關操作 return list; } /** * 修改數據庫中某個對象的狀態 改 * */ public int updateUserData(String phone){ int result=-1; if(!StringUtils.isEmpty(phone)){ //獲取鏈接數據庫對象 conn= DBOpenHelper.getConn(); //MySQL 語句 String sql="update user set state=? where phone=?"; try { boolean closed=conn.isClosed(); if(conn!=null&&(!closed)){ ps= (PreparedStatement) conn.prepareStatement(sql); ps.setString(1,"1");//第一個參數state 一定要和上面SQL語句字段順序一致 ps.setString(2,phone);//第二個參數 phone 一定要和上面SQL語句字段順序一致 result=ps.executeUpdate();//返回1 執行成功 } } catch (SQLException e) { e.printStackTrace(); } } DBOpenHelper.closeAll(conn,ps);//關閉相關操作 return result; } /** * 批量向數據庫插入數據 增 * */ public int insertUserData(List<User> list){ int result=-1; if((list!=null)&&(list.size()>0)){ //獲取鏈接數據庫對象 conn= DBOpenHelper.getConn(); //MySQL 語句 String sql="INSERT INTO user (name,phone,content,state) VALUES (?,?,?,?)"; try { boolean closed=conn.isClosed(); if((conn!=null)&&(!closed)){ for(User user:list){ ps= (PreparedStatement) conn.prepareStatement(sql); String name=user.getName(); String phone=user.getPhone(); String content=user.getContent(); String state=user.getState(); ps.setString(1,name);//第一個參數 name 規則同上 ps.setString(2,phone);//第二個參數 phone 規則同上 ps.setString(3,content);//第三個參數 content 規則同上 ps.setString(4,state);//第四個參數 state 規則同上 result=ps.executeUpdate();//返回1 執行成功 } } } catch (SQLException e) { e.printStackTrace(); } } DBOpenHelper.closeAll(conn,ps);//關閉相關操作 return result; } /** * 刪除數據 刪 * */ public int delUserData(String phone){ int result=-1; if((!StringUtils.isEmpty(phone))&&(PhoneNumberUtils.isMobileNumber(phone))){ //獲取鏈接數據庫對象 conn= DBOpenHelper.getConn(); //MySQL 語句 String sql="delete from user where phone=?"; try { boolean closed=conn.isClosed(); if((conn!=null)&&(!closed)){ ps= (PreparedStatement) conn.prepareStatement(sql); ps.setString(1, phone); result=ps.executeUpdate();//返回1 執行成功 } } catch (SQLException e) { e.printStackTrace(); } } DBOpenHelper.closeAll(conn,ps);//關閉相關操作 return result; } }
關于使用Android如何實現連接并使用MySQL數據庫就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。