栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Android Studio连接MySql新手教程!!结合实际项目!可用!

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android Studio连接MySql新手教程!!结合实际项目!可用!

Android Studio连接MySql新手教程!!

实习公司项目需要,参考网上教程实现,展示的是适用于自己项目的,其他的可自由发挥大家,原理都一样。

一、准备工作

安装MySql,导入链接库,具体参考:
1、关于Android Studio连接Mysql数据库(仅连上mysql,无增删查改),及错误排查
2、驱动链接库下载地址:Mysql-connection的jar包

二、java代码 1.创建DBUtil类,用于数据库连接

代码如下:

import android.util.Log;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

public class DBUtil {

    private static final String TAG = "DBUtils";
    private static Connection conn = null;
    private static final String ip = "";
    private static final int port = 3306;
    private static final String user = "";
    private static final String password = "";

    public static Connection getConnection(String dbname) {
        String url = "jdbc:mysql://" + ip + ":" + port + "/" + dbname + "?useUnicode=true&characterEncoding=UTF-8";
        try {
            Class.forName("com.mysql.jdbc.Driver");
            Log.d(TAG, "加载JDBC驱动成功");
        } catch (ClassNotFoundException e) {
            Log.d(TAG, "加载JDBC驱动失败");
        }
        try {
            conn = DriverManager.getConnection(url, user, password);
            Log.d(TAG, "数据库连接成功");

        } catch (SQLException e) {
            Log.d(TAG, "数据库连接失败");
        }
        return conn;
    }

    public static List> getinfo(String dbname) throws SQLException {

        List> list = new ArrayList>();
        Connection conn = getConnection(dbname);
        Statement sta = conn.createStatement();
        String sql = "select * from db_veriband";
        ResultSet result = sta.executeQuery(sql);
        if (result == null) {
            return null;
        }
        while (result.next()) {
            HashMap map = new HashMap<>();
            map.put("name", result.getString("empname"));
            list.add(map);
        }
        return list;
    }

    public static void insert(String dbname, User user) throws SQLException {
        Connection conn = getConnection(dbname);
        String sql = "insert into t_user(user_num,user_password) values(?,?)";
        try {
            PreparedStatement ps = conn.prepareStatement(sql);
            ps.setLong(1, Long.valueOf(user.getUser_num()));
            ps.setLong(2, Long.valueOf(user.getUser_password()));
            ps.execute();
            System.out.println("用户手机号存储成功");
        }catch (SQLException e){
            e.printStackTrace();
        }finally {
            getConnection("db_veriband").close();
        }

    }
}

说明:有些地方需要改变,包括ip,port,user,password等,改成自己就可以了。
测试结果:

2.创建User实体类,用于获取EditText输入的数据信息

代码如下:

public class User {
    private String user_num;
    private String user_password;

    public User(String user_num, String user_password){
        super();
        this.user_num=user_num;
        this.user_password=user_password;
    }

    public String getUser_num() {
        return user_num;
    }

    public void setUser_num(String user_num) {
        this.user_num = user_num;
    }

    public String getUser_password() {
        return user_password;
    }

    public void setUser_password(String user_password) {
        this.user_password = user_password;
    }
}

最后使用即可

Thread thread=new Thread(new Runnable() {
                                @Override
                                public void run() {
                                    DBUtil.getConnection("db_veriband");
                                    try {
                                        num=editPhoneNumber.getText().toString();
                                        password=editCode.getText().toString();
                                        User user=new User(num,password);
                                        DBUtil.insert("db_veriband",user);
                                        startActivity(intent);
                                        //List>list1=new ArrayList>();
                                        //list1=DBUtil.getinfo("db_veriband");
                                        //Log.d(TAG,list1.toString());
                                        //startActivity(intent);
                                    }catch (SQLException e){
                                        e.printStackTrace();
                                    }
                                }
                            });
                            thread.start();

因为是公司项目,无法完整贴代码,大家有需要的做个参考就好。
参考资料:JDBC之Insert方法
MySQL_(Java)使用JDBC向数据库中插入(insert)数据
MySQL 插入数据
说明:具体的可以评论区,我看到了就回,因为我也是从小白过来的《-±》

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/340764.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号