使用Android如何实现连接并使用MySQL数据库

发布时间:2020-11-09 16:59:16 作者:Leah
来源:亿速云 阅读:3643

这篇文章运用简单易懂的例子给大家介绍使用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=&#63; where phone=&#63;";
      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 (&#63;,&#63;,&#63;,&#63;)";
      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=&#63;";
      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数据库就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐阅读:
  1. 使用Python连接并操作mysql数据库方法
  2. java连接mysql数据库并显示

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

android mysql roi

上一篇:Django文件如何上传到Python项目中

下一篇:vue项目内联样式中的background如何使用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》