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数据库并进行增删改查操作示例讲解的文章就介绍到这了,更多相关Android 连接MySQL数据库并进行增删改查操作内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python连接mysql数据库及简单增删改查操作示例代码

    1.安装pymysql 进入cmd,输入 pip install pymysql: 2.数据库建表 在数据库中,建立一个简单的表,如图: 3.简单操作 3.1查询操作 #coding=utf-8 #连接数据库测试 import pymysql #打开数据库 db = pymysql.connect(host="localhost",user="root",password="root",db="test") #使用cursor

  • Android通过json向MySQL中读写数据的方法详解【写入篇】

    本文实例讲述了Android通过json向MySQL中写入数据的方法.分享给大家供大家参考,具体如下: 先说一下如何通过json将Android程序中的数据上传到MySQL中: 首先定义一个类JSONParser.Java类,将json上传数据的方法封装好,可以直接在主程序中调用该类,代码如下 public class JSONParser { static InputStream is = null; static JSONObject jObj = null; static String j

  • Android SQLite数据库增删改查操作的使用详解

    一.使用嵌入式关系型SQLite数据库存储数据 在Android平台上,集成了一个嵌入式关系型数据库--SQLite,SQLite3支持NULL.INTEGER.REAL(浮点数字). TEXT(字符串文本)和BLOB(二进制对象)数据类型,虽然它支持的类型只有五种,但实际上sqlite3也接受varchar(n). char(n).decimal(p,s) 等数据类型,只不过在运算或保存时会转成对应的五种数据类型. SQLite最大的特点是你可以把各种类型的数据保存到任何字段中,而不用关心字段

  • Android通过json向MySQL中读写数据的方法详解【读取篇】

    本文实例讲述了Android通过json向MySQL中读取数据的方法.分享给大家供大家参考,具体如下: 首先 要定义几个解析json的方法parseJsonMulti,代码如下: private void parseJsonMulti(String strResult) { try { Log.v("strResult11","strResult11="+strResult); int index=strResult.indexOf("[");

  • Android实现与Apache Tomcat服务器数据交互(MySql数据库)

    需求:Android客户端连接服务器端MySQL数据库中的内容 环境部署 服务器:apache-tomcat-8.5.9 语言版本:Java 1.8.0_101 编译环境:Eclipse android Studio 调用jar包:httpclient-4.2.5,httpcore-4.2.4 //HttpClient父类 mysql-connector-java-5.1.40-bin //用于连接mysql数据库 思路:涉及到服务器端mysql数据库安装.web应用部分开发和Android客户

  • Android SQLite数据库增删改查操作的案例分析

    Person实体类 复制代码 代码如下: package com.ljq.domain; public class Person {    private Integer id;    private String name;    private String phone; public Person() {        super();    } public Person(String name, String phone) {        super();        this.n

  • MySQL 详细单表增删改查crud语句

    MySQL 增删改查语句 1.创建练习表 这里练习表没有满足三范式 第一范式(又称 1NF):保证每列的原子性 数据表中的每一列(字段),必须是不可拆分的最小单元,也就是确保每一列的原子性.满足第一范式是关系模式规范化的最低要求,否则,将有很多基本操作在这样的关系模式中实现不了. 第二范式(又称 2NF):保证一张表只描述一件事情 满足1NF后要求表中的所有列,每一行的数据只能与其中一列相关,即一行数据只做一件事.只要数据列中出现数据重复,就要把表拆分开来. 第三范式(又称 3NF):保证每列都

  • android使用mysql的方法总结

    android可以使用mysql数据库,android连接数据库的方式有两种. 第一种是通过连接服务器,再由服务器读取数据库来实现数据的增删改查,这也是我们常用的方式. 第二种方式是android直接连接数据库,这种方式非常耗手机内存,而且容易被反编译造成安全隐患,所以在实际项目中不推荐使用. 1.加载外部jar包 在Android工程中要使用jdbc的话,要导入jdbc的外部jar包,因为在Java的jdk中并没有jdbc的api,我使用的jar包是mysql-connector-java-5

  • Python连接Mysql进行增删改查的示例代码

    Python连接Mysql 1.安装对应的库 使用Python连接Mysql数据库需要安装相应的库 以管理员身份运行cmd,输入命令 pip install mysql.connector 安装完成后建立 test.py 写入 import mysql.connector 保存后运行 python test.py 用以测试模块库是否安装完成,如果不报错,说明安装完成 2.进行连接测试 编写connectTest.py文件 文件内容: import mysql.connector connect

  • 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";//用

  • Vue项目通过node连接MySQL数据库并实现增删改查操作的过程详解

    目录 Vue项目通过node连接MySQL数据库 1.创建Vue项目 2.下载安装需要的插件 3.在项目中创建server文件夹,用于搭建本地服务器 4.Vue项目访问接口获取数据 数据表的增删改查操作 1.服务器配置 2.前端配置 页面样式 总结 Vue项目通过node连接MySQL数据库 1.创建Vue项目 vue create 项目名 Vue项目创建的详细步骤,有需要的可移步这里 2.下载安装需要的插件 下载express npm install express 下载cors,用于处理接口

  • ThinkPHP5.1框架数据库链接和增删改查操作示例

    本文实例讲述了ThinkPHP5.1框架数据库链接和增删改查操作.分享给大家供大家参考,具体如下: 一.数据库的链接方式 <?php namespace app\index\controller; use think\Db; class Demo { //1.全局配置 config/database.php配置 public function dbTest() { return Db::table('pzq_article') ->where('id','29') ->value('ti

  • Node连接MySQL并封装其增删改查的实现代码

    目录 Node连接Mysql 安装Mysql模块 连接Mysql 常用的SQL语句 Node操作Mysql 封装 结束 Node连接Mysql 说到node,可能大家会想到MOngoDB作为数据库,这里将会介绍node与mysql的连接,并分享了封装好的实例代码,在项目开发中可直接使用. 安装Mysql模块 npm install mysql 连接Mysql const mysql = require('mysql'); let connection = mysql.createConnecti

  • 使用IDEA对Oracle数据库进行简单增删改查操作

    1.1 Java中的数据存储技术 在Java中,数据库存取技术可分为如下几类: 1.JDBC直接访问数据库 2.JDO(Java Data Object)是Java对象持久化的新的规范,也是一个用于存取某种数据仓库中的对象的标准化API. 3.第三方O/R 比如Hibernate,Mybatis等 JDBC是java访问数据库的基石,JDO.Hibernate.MyBatis,JDO,Hibernate.MyBatyis等只是更好的封装的JDBC. 最近用idea连接Oracle数据库 并且实现

  • MySQL筑基篇之增删改查操作详解

    目录 一.增加表中数据 1.无自增列时 2.有自增列时 二.删除表中数据 1.使用delete 2.使用truncate 三.修改表中数据 四.*查询操作 1.简单查询 2.条件查询 3.排序 一.增加表中数据 1.无自增列时 1.指定字段添加数据 给表中的部分列添加数据:值的顺序必须跟指定列的顺序保持一致 语法:insert into 表名(列1,列2,...) values(值1,值2,...) 2.默认添加数据 向表中的所有列添加数据:值的顺序必须跟字段顺序保持一致 语法:insert i

  • Android利用Dom对XML进行增删改查操作详解

    1. 概述 平常我们一般是使用JSON与服务器做数据通信,JSON的话,直接用GSON或者其他库去解析很简单.但是,其他有些服务器会返回XML格式的文件,这时候就需要去读取XML文件了. XML的解析有三种方式,在Android中提供了三种解析XML的方式:DOM(Document Objrect Model) , SAX(Simple API XML) ,以及Android推荐的Pull解析方式,他们也各有弊端,而这里来看看使用DOM的方式. 2. Dom解析 DOM解析器在解析XML文档时,

  • SpringBoot模拟员工数据库并实现增删改查操作

    目录 1:首先创建一个pojo层在里面定义数据 2:编写dao层注入数据: 3:总结 1:首先创建一个pojo层在里面定义数据 Department部门: package com.example.springbootweb.pojo; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; /** * @author ${范涛之} * @Description * @create

  • mysql触发器之触发器的增删改查操作示例

    本文实例讲述了mysql触发器之触发器的增删改查操作.分享给大家供大家参考,具体如下: 我们在创建触发器后,可以在包含触发器定义文件的数据文件夹中显示其定义.触发器作为纯文本文件存储在以下数据库文件夹中: /data_folder/database_name/table_name.trg 我们还可通过查询information_schema数据库中的triggers表来显示触发器,如下所示: SELECT * FROM information_schema.triggers WHERE trig

随机推荐