实习公司项目需要,参考网上教程实现,展示的是适用于自己项目的,其他的可自由发挥大家,原理都一样。
一、准备工作安装MySql,导入链接库,具体参考:
1、关于Android Studio连接Mysql数据库(仅连上mysql,无增删查改),及错误排查
2、驱动链接库下载地址:Mysql-connection的jar包
代码如下:
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等,改成自己就可以了。
测试结果:
代码如下:
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 插入数据
说明:具体的可以评论区,我看到了就回,因为我也是从小白过来的《-±》



