软件编程
位置:首页>> 软件编程>> Android编程>> Android连接MySQL数据库并进行增删改查操作示例讲解

Android连接MySQL数据库并进行增删改查操作示例讲解

作者:jianning-wu  发布时间:2023-07-03 13:20:15 

标签: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;
 }

}

来源:https://blog.csdn.net/weixin_37730482/article/details/77984417

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com