jdbc java远程连接mysql数据库服务器
首先,需要注意以下几点:
1、手机需要获得可以访问网络的权限;
2、导入的jdbc驱动的版本需要与mysql服务器的版本相近:


3、mysql默认的访客是只允许本机(localhost),不允许其他主机运程访问,需要修改为所有主机,在命令行进行操作:
mysql -u用户名 -p密码
mysql>use mysql;
mysql>select 'host' from user where user='root';
mysql>update user set host = '%' where user = 'root';
其中,%表示所有的主机
4、进行连接操作时需要新开线程;
5、编码问题,mysql中表的编码要与连接的编码方式相同:


连接操作:
1、设置主机、用户名、密码、连接方式等:
static private String connectString = "jdbc:mysql://192.168.199.228:3306/yang_project"
+ "?autoReconnect=true&useUnicode=true&useSSL=false"
+ "&characterEncoding=utf-8&serverTimezone=UTC";
static private String sql_user="root";
static private String sql_pwd="123456";
2、导入jdbc驱动包,并将相关的类引入代码文件:
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
3、建立连接(需要在新线程中):
new Thread(){
public void run(){
try {
Connection con = DriverManager.getConnection(connectString, sql_user, sql_pwd);
con.close();
} catch (SQLException e) { //连接失败
e.printStackTrace();
}
}
}.start();
增删查改(需要新线程和try/catch):
1、增
Connection con = DriverManager.getConnection(connectString, sql_user, sql_pwd);
Statement stmt=con.createStatement();
String InsertString = "insert into user(user_name, user_password, user_age, user_height, user_weight, user_sex, user_info) " +
"values('"+name.getText().toString()+
"', '"+password.getText().toString()+
"', '"+age.getText().toString()+
"', '"+height.getText().toString()+
"', '"+weight.getText().toString()+
"', '"+sexType+
"', '"+info.getText().toString()+"');";
int i = stmt.executeUpdate(InsertString);
con.close();
stmt.close();
2、删
String DeleteString = "delete from steps where user_name = '"+myname+"' and steps_date = '"+delete_date+"';";
int i = stmt.executeUpdate(DeleteString);
3、查
QueryString = "select * from steps where user_name = '"+myname+"' order by steps_date DESC;";
ResultSet rs = stmt.executeQuery(QueryString); while(rs.next()){ steps_date = rs.getString("steps_date"); steps_number = rs.getString("steps_number"); }
4、改
String QueryString = "update user set user_height = '"+myheight +"' where user_name = '"+myname+"';";
int i = stmt.executeUpdate(QueryString);
jdbc java远程连接mysql数据库服务器的更多相关文章
- 用MyEclipse10.0远程连接Mysql数据库服务器
说明:本文档所有的操作均在满足以下条件的情况下操作, A.远程Linux服务器已经安装好MySQL数据库 B.本地电脑可以ping通远程服务器 C.已经成功安装了Myeclipse 一.下载mysql ...
- Windows操作系统下远程连接MySQL数据库
用Eclipse做一个后台项目,但是数据库不想放在本地电脑,于是买了一个腾讯云服务器(学生有优惠,挺便宜的),装上MySQL数据库,但是测试连接的时候,发现总是连接不是上,但是本地数据库可以连接,于是 ...
- JDBC Java 程序从 MySQL 数据库中读取数据,并备份到 xml 文档中
MySQL 版本:Server version: 5.7.17-log MySQL Community Server (GPL) 相关内容:JDBC Java 程序从 MySQL 数据库中读取数据,并 ...
- Navicat for mysql 远程连接 mySql数据库10061、1045错误
原文地址:http://www.111cn.net/database/mysql/46377.htm 有朋友可能会碰到使用Navicat for mysql 远程连接 mySql数据库会提示10061 ...
- navcat无法远程连接mysql数据库解决办法
navcat无法远程连接mysql数据库,一般都是因为本地ip没有访问权限,服务器上执行下面指令即可解决 mysql -u root -p GRANT ALL PRIVILEGES ON *.* TO ...
- 远程连接MySQL数据库问题总结
远程连接MySQL数据库时,陆陆续续遇到了一些杂七杂八的问题,相信很多人也曾经遇到过这类问题,下面总结归纳在下面,方便以后直接查找. 1:出现ERROR 2003 (HY000): Can't con ...
- SQLServer 2005客户端远程连接sql2008 数据库服务器
SQL2005客户端远程连接sql2008 数据库服务器 by:授客 QQ:1033553122 准备工作: 客户端所在pc机配置: 配置数据源 控制面板-管理工具-ODBC数据源-系统DSN-添加- ...
- 【MySQL解惑笔记】Navicat 无法远程连接MySQL数据库
安装好Navicat之后远程连接MySQL数据库出现以下报错截图: 出现以上截图怀疑是mysql用户权限不够: GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.1 ...
- 远程连接 mySql数据库
远程连接 mySql数据库 一.安装并配置MySQL1.安装MySQL:运行mysql-essential-6.0.11-alpha-win32,按“MySQL+6.0+Windows下安装图解”完成 ...
随机推荐
- <基础> PHP 进阶之 流程控制(Process)
do-while $sum = 0; $i = 10; do{ $sum += $i; $i--; }while($i > 0); //当这里的值为 false 时跳出循环 echo $sum; ...
- 浅析USB之设备枚举
当一个USB设备插入主机后,会有以下活动: 配上状态图
- Java并发:线程间数据传递和交换
转自:https://www.cnblogs.com/java-zzl/p/9741288.html 一.通过SynchronousQueue方式实现线程间数据传递: 线程A与线程B共同持有一个Syn ...
- Druid参考配置
pom中的maven dependency <dependency> <groupId>com.alibaba</groupId> ...
- 尚硅谷springboot学习4-helloworld探究
1.POM文件 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spr ...
- C语言复习:文件操作
文件操作专题 C语言文件读写概念 文件分类 按文件的逻辑结构: 记录文件:由具有一定结构的记录组成(定长和不定长) 流式文件:由一个个字符(字节)数据顺序组成 按存储介质: 普通文件:存储介质文件(磁 ...
- CSS中clear属性的both、left和right浅析
前端开发中,我们知道clear属性有none.both.left和right四个值. 它们的具体含义如下: none:允许两边都可以有浮动对象: both:不允许有浮动对象; left:不允许左边有浮 ...
- 转: JQuery this和$(this)的区别及获取$(this)子元素对象的方法
1.JQuery this和$(this)的区别 相信很多刚接触JQuery的人,很多都会对$(this)和this的区别模糊不清,那么这两者有什么区别呢? 首先来看看JQuery中的 $() 这 ...
- tensorflow 指定使用gpu处理,tensorflow占用多个GPU但只有一个在跑
我们在刚使用tensorflow的过程中,会遇到这个问题,通常我们有多个gpu,但是 在通过nvidia-smi查看的时候,一般多个gpu的资源都被占满,但是只有一个gpu的GPU-Util 和 21 ...
- 文件上传以及JS链式结构
文件上传: 文件上传使用FileUpload控件,使用控件的SaveAs方法,需要绝对路径. 获取文件的绝对路径:Server.MapPath(相对路径); 或许要上传文件的本身名字用.FileNam ...