您当前的位置: 首页 >  Java

txwtech

暂无认证

  • 3浏览

    0关注

    813博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

安卓Android_Studio_Java_操作mysql数据库

txwtech 发布时间:2022-06-17 21:25:15 ,浏览量:3

安卓Android_Studio_Java_操作mysql数据库

 

基本连接方法:icon-default.png?t=M5H6https://www.cnblogs.com/txwtech/p/16380248.html

基本连接方法:如何创建mysql数据库。

Mysql所有连接方法与汇总参考:链接icon-default.png?t=M5H6https://www.cnblogs.com/txwtech

 

创建好的mysql的数据库确保用IP与端口能够连接,比如用MySql Workbench

 

用真机测试:(WIFI)保持数据库的的网络与手机在同一个网段。

各个类:

UserDao类:增删改查的操作
package com.example.myapplication;

import android.os.Bundle;

import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.snackbar.Snackbar;

import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;

import android.util.Log;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

import java.sql.Date;
import java.text.SimpleDateFormat;

//by txwtech
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        FloatingActionButton fab = findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();

            }
        });
        Button button=findViewById(R.id.button1);
        button.setOnClickListener(new View.OnClickListener()
        {
            @Override
            public void onClick(View view)
            {

                         // DBUtil.getConn();
                UserBean bean=new UserBean();
               UserDao.add(bean);
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }

                // Toast.makeText(MainActivity.this, "数据写入失败", Toast.LENGTH_SHORT).show();
                TextView textView=findViewById(R.id.textview1);
                Date date=new java.sql.Date(System.currentTimeMillis());
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                String date1 = sdf.format(date);
                String show_msg="";
               if(UserDao.f==true)
               {
                   show_msg="写入成功"+date1;
                   Toast.makeText(MainActivity.this,show_msg , Toast.LENGTH_SHORT).show();

                   textView.setText(show_msg);

                   UserDao.f=false;
               }
               else
               {
                   show_msg="写入失败"+date1;
                   textView.setText(show_msg);
                   Toast.makeText(MainActivity.this, show_msg, Toast.LENGTH_SHORT).show();
               }









               System.out.println("点击了一个按钮");
              //  Toast.makeText(MainActivity.this, "点击了一个按钮", Toast.LENGTH_SHORT).show();
            }
        });
    }





    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}
package com.example.myapplication;
 
import android.util.Log;
 
 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import static android.content.ContentValues.TAG;


public class DBUtil {
 
    private static String diver = "com.mysql.jdbc.Driver";
    private static String url = "jdbc:mysql://192.168.10.102:3306/txw_oqa_db";
    private static String user = "root";//用户名
    private static String password = "87958868";//密码
    public static Connection conn;
    private static Connection conn2;

 
    /*
     * 连接数据库
     * */
    public static Connection getConn()
    {

        final Thread thread =new Thread(new Runnable() {
            @Override
            public void run() {

              //  while (!Thread.interrupted())
                while(true)
                {
                    try {
                        Thread.sleep(100);  // 每隔0.1秒尝试连接
                    } catch (InterruptedException e) {
                        Log.e(TAG, e.toString());
                    }

                    try {
                        Class.forName(diver);
                         conn =  DriverManager.getConnection(url, user, password);//获取连接
                        Log.e("getConn", "连接成功");

                         if(conn==null)
                         {
                             Thread.sleep(1000);
                         }
                         break;



                    } catch (ClassNotFoundException e) {
                        Log.e("getConn", e.getMessage(), e);
                        e.printStackTrace();
                    } catch (SQLException e) {
                        Log.e("getConn", e.getMessage(), e);
                        e.printStackTrace();
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }

                }
            }
        });
        thread.start();
        return conn;

    }
 
    public static void close(Statement state, Connection conn) {
        if (state != null) {
            try {
                state.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
 
        if (conn != null) {
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
 
    public static void close(ResultSet rs, Statement state, Connection conn) {
        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
 
        if (state != null) {
            try {
                state.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
 
        if (conn != null) {
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
 
}
package com.example.myapplication;
 
import java.io.Serializable;
//用户实体类
public class UserBean implements Serializable {
    //主键
    private int id;
    //用户姓名
    private String user_name;
    //手机号
    private String phone;
    //密码
    private String password;
    //创建时间
    private String create_date;
 
    public String getCreate_date() {
        return create_date;
    }
 
    public void setCreate_date(String create_date) {
        this.create_date = create_date;
    }
 
    public int getId() {
        return id;
    }
 
    public void setId(int id) {
        this.id = id;
    }
 
    public String getUser_name() {
        return user_name;
    }
 
    public void setUser_name(String user_name) {
        this.user_name = user_name;
    }
 
    public String getPhone() {
        return phone;
    }
 
    public void setPhone(String phone) {
        this.phone = phone;
    }
 
    public String getPassword() {
        return password;
    }
 
    public void setPassword(String password) {
        this.password = password;
    }
 
    @Override
    public String toString() {
        return "UserBean{" +
                "id=" + id +
                ", user_name='" + user_name + '\'' +
                ", phone='" + phone + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}
package com.example.myapplication;

import android.util.Log;

import java.text.SimpleDateFormat;
import java.util.ArrayList;

import java.sql.*;

//import java.sql.Connection;
//import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.List;

//用户数据库连接类
public class UserDao {
    public  static boolean f = false;
    public  static int counter = 2;
 
    //新增
    public static boolean add(UserBean bean) {
      //  String sql = "insert into user(user_name,phone,create_date,password)values('" + bean.getUser_name() + "','" + bean.getPhone() + "','" + bean.getCreate_date() + "','" + bean.getPassword() + "')";
   //     String sql = "insert into lot_weight_measurement_record(id,lot,base_data,sn_box,weight,exec_date)values('1','LA123456',,'SN123874EAA','88','2022-6-16 22:42')";


        Connection conn = DBUtil.getConn();


        final Thread thread=new Thread(new Runnable() {
            Statement state = null;

            int a = 0;

            @Override
            public void run() {
                while (true)
                {
                    if(DBUtil.conn==null)
                    {
                        Log.e("getConn", "连接失败");
                        try {
                            Thread.sleep(1000);
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                        }
                    }
                    else
                    {
                        Log.e("getConn", "连接成功");
                        counter++;
                        //string转换成int  :Integer.valueOf("12")
                        //
                        //int转换成string : String.valueOf(12)

                        String sn=String.valueOf(counter);
                        Date date=new java.sql.Date(System.currentTimeMillis());
                        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                        String date1 = sdf.format(date);
                        String sql = "insert into lot_weight_measurement_record set id='10008',sn_box='"+sn+"--"+date1+"'"+",exec_date='"+date1+"'";
                        try {
                            state = DBUtil.conn.createStatement();
                            a = state.executeUpdate(sql);
                            f = true;
                        } catch (Exception e) {
                            Log.e("add->", e.getMessage(), e);
                            e.printStackTrace();
                        } finally {
                            DBUtil.close(state, DBUtil.conn);
                        }
                      //  if (a > 0)
                        if(state!=null)
                        {
                            f = true;
                        }
                        Log.e("getConn", "开始插入数据");
                        break;
                    }
                }

            }
        });
        thread.run();



        return f;
    }
 
    //删除
    public static boolean delete(UserBean bean) {
        String sql = "delete from user where id=" + bean.getId();
        Connection conn = DBUtil.getConn();
        Statement state = null;
        boolean f = false;
        int a = 0;
        try {
            state = conn.createStatement();
            a = state.executeUpdate(sql);
        } catch (Exception e) {
            Log.e("delete->", e.getMessage(), e);
            e.printStackTrace();
        } finally {
            DBUtil.close(state, conn);
        }
        if (a > 0) {
            f = true;
        }
        return f;
    }
 
 
    //修改
    public static boolean update(UserBean bean) {
 
        String sql = "update user set " + "user_name='" + bean.getUser_name() + "', phone='" + bean.getPhone() + "', create_date='" + bean.getCreate_date() + "', password='" + bean.getPassword() + "' where id='" + bean.getId() + "'";
        Connection conn = DBUtil.getConn();
        Statement state = null;
        boolean f = false;
        int a = 0;
        try {
            state = conn.createStatement();
            a = state.executeUpdate(sql);
        } catch (Exception e) {
            Log.e("update->", e.getMessage(), e);
            e.printStackTrace();
        } finally {
            DBUtil.close(state, conn);
        }
        if (a > 0) {
            f = true;
        }
        return f;
    }
 
    //获取列表
    public static List getListByPhone(String phone) {
 
        //结果存放集合
        List list = new ArrayList();
        //MySQL 语句
        String sql = "select * from user where phone=" + phone;
        Connection conn = DBUtil.getConn();
        Statement state = null;
        ResultSet rs = null;
        boolean f = false;
        int a = 0;
        try {
            state = conn.createStatement();
            rs = state.executeQuery(sql);
            Log.e("getListByPhone->","getListByPhone");
            while (rs.next()) {
                UserBean bean = new UserBean();
                bean.setId(rs.getInt("id"));
                bean.setUser_name(rs.getString("user_name"));
                bean.setPhone(rs.getString("phone"));
                bean.setPassword(rs.getString("password"));
                bean.setCreate_date(rs.getString("create_date"));
                list.add(bean);
                Log.e("getListByPhone->",bean.toString());
 
            }
        } catch (Exception e) {
            Log.e("getListByPhone->", e.getMessage(), e);
            e.printStackTrace();
        } finally {
            DBUtil.close(rs, state, conn);
        }
        if (a > 0) {
            f = true;
        }
        return list;
    }
 
    //获取列表
    public static List getList() {
 
        //结果存放集合
        List list = new ArrayList();
        //MySQL 语句
        String sql = "select * from user";
        Connection conn = DBUtil.getConn();
        Statement state = null;
        ResultSet rs = null;
        boolean f = false;
        int a = 0;
        try {
            state = conn.createStatement();
            rs = state.executeQuery(sql);
            while (rs.next()) {
                UserBean bean = new UserBean();
                bean.setId(rs.getInt("id"));
                bean.setUser_name(rs.getString("user_name"));
                bean.setPhone(rs.getString("phone"));
                bean.setPassword(rs.getString("password"));
                bean.setCreate_date(rs.getString("create_date"));
                list.add(bean);
 
            }
        } catch (Exception e) {
            Log.e("update->", e.getMessage(), e);
            e.printStackTrace();
        } finally {
            DBUtil.close(rs, state, conn);
        }
        if (a > 0) {
            f = true;
        }
        return list;
    }
 
 
}

关注
打赏
1665060526
查看更多评论
立即登录/注册

微信扫码登录

0.0404s