MySQL入门很简单: 15 java访问MySQL数据库
1. 连接数据库
1.1 下载安装驱动
java通过JDBC(Java Database Connectivity,Java数据库连接)来访问MySQL数据库。JDBC的编程接口提供的接口和类与MySQL数据库建立连接,然后将SQL语句的执行结果进行处理。
1)下载MySQL Connector/J驱动
http://dev.mysql.com/downloads/file/?id=460363
2)MyEclipse导入JDBC驱动
Window|Perference Path|User Libraries New 新建库文件:MySQL-JDBC Add JARs
右击工程名 Build Path, Add Library, User Library , Next, 选择MySQL-JDBC
1.2 连接MySQL数据库
java.sql 包中存在 DriverManager类, Connection接口,Statement接口,ResultSet接口 DriverManager类:管理驱动程序和连接数据库 Connection接口:管理建立好的数据库连接 Statement接口:执行SQL语句 ResultSet接口: 存储数据库返回的记录
1)使用java.lang.Class类中的forName()指定JDBC驱动的类型

2)使用DriverManager类和Connection接口连接数据库


2. 操纵数据库
1)创建Statement对象

2)使用SELECT语句查询数据


3)插入更新或删除数据

4)执行任意SQL语句


5)关闭创建的对象

3.备份和还原数据库
1)备份


2)还原

实例:
1. 编写DB.java类
1)通过DB.java类连接MySQL数据库,然后操作test数据库下的sorce表
2)在DB.java类中查询sorce表中的所有记录,SELECT语句如下: SELECT * FROM sorce
3)向sorce表中插入一条新记录,INSERT语句如下: INSERT INTO sorce VALUES(25,905, 'English', 95);
4)更新id为25的记录,将grade字段的值设为80,UPDATE语句为:UPDATE score SET grade=80 WHERE id=25;
5)关闭打开的所有数据库对象
2. 编写DB_backup_load.java类
1)该类中定义backup()方法,通过backup()方法备份test数据库
2)该类中定义load()方法,通过load()方法还原test数据库
import.java.sql.Connection;
import.java.sql.DriverManager;
import.java.sql.ResultSet;
import.java.sql.SQLException;
import.java.sql.Statement; //执行SELECT INSERT UPDATE语句 public class DB{
public static void main (String args[]){ //将JDBC的协议 主机名 端口号 需要连接的数据库等信息复制给字符串变量url
String url="jdbc:mysql://localhost:3306/test";
String user="root";
String passwd="huang";
String sql1="SELECT * FROM score";
String sql2="INSERT INTO score VALUES(25,905,'English',95)";
String sql3="UPDATE score SET grade=80 WHERE id=25";
try{
Class.forname("com.mysql.jdbc.Driver"); //指定MySQL驱动
Connection con=DriverManager.getConnection(url,user,passwd);
System.out.println("连接数据库服务器成功");
Statement stat=con.createStatement();
ResultSet rs=stat.executeQuery(sql1); //执行SELECT
//SELECT语句的查询结果存储在rs中,按顺序读取rs中的每一条记录
while(rs.next()){
int id=rs.getInt("id");
int stu_id=rs.getInt("stu_id");
String couse=rs.getString("c.name");
int grade=rs.getInt("grade");
System.out.println(id+" "+stu_id+" "+couse+" "+grade);
} //通过executeUpdate()方法执行INSERT语句,执行完成后返回插入的记录
int i=stat.executeUpdate(sql2);
if(i!=0)
{
System.out.println("INSERT 语句执行成功");
}
//通过executeUpdate()执行UPDATE语句 完成后返回更新的记录数
int j=stat.executeUpdate(sql3);
if(j!=0){
System.out.println("UPDATE 语句执行成功");
} //如果ResultSet对象不为空,那么调用close()关闭ResultSet对象
if(rs!=null){
rs.close();
rs.null;
} //如果Statement对象不为空,那么调用close()关闭Statement对象
if(stat!=null){
stat.close();
stat.null;
} //如果Connection对象不为空,那么调用close()关闭Connection对象
if(con!=null){
con.close();
con.null;
}
}catch(ClassNotFoundException e){
System.out.print("没有找到MySQL驱动")
}catch(SQLException e){
System.out.print("连接数据库服务器失败")
} }
}
import java.io.IOException;
public class DB_backup_load{
private static String str=null;
public static void backup(){ str="mysqldump -u root -phuang --opt test >c:/test.sql";
try{
//使用exec()函数执行mysqldump命令
//该代码在windows下运行,需要加上"cmd \c"
Runtime rt=Runtime.getRuntime();
rt.exec("cmd/c"+str);
System.out.println("备份成功");
}catch(IOException e){
e.printStackTrace();
System.out.println("备份失败");
}
} public static void load(){
str="mysql -u root -phuang test <c:/test.sql";
try{
RunTime rt=RunTime.getRuntime();
rt.exec("cmd/c"+str);
System.out.println("还原成功");
}catch(IOException e){
e.printStackTrace();
System.out.println("还原失败");
}
} publ static void main(String args[]){
DB_backup_load db=new DB_backup_load();
db.backup();
db.load();
}
}
MySQL入门很简单: 15 java访问MySQL数据库的更多相关文章
- 《Mysql 入门很简单》(读后感①)
下载完整版<Mysql 入门很简单>,点击这里~: http://files.cnblogs.com/files/zhengyeye/MySQL%E5%85%A5%E9%97%A8%E5% ...
- MySQL入门很简单: 12 MYSQL 用户管理
1. 权限表 安装MySQL会自动安装一个名为mysql的数据库,存储权限表: user表, db表,host表,table_priv表,columns_priv表,proc_priv表等. 1)us ...
- MySQL入门很简单: 1 数据库概述
1. 数据库概述 1.1 数据存储方式: 1)人工管理阶段 2)文件系统阶段: 文件系统通过文件的存储路径和文件名称访问文件中的数据 3)数据库系统阶段:Oracle, SQL Server, MyS ...
- MySQL入门很简单-触发器
1.触发器是由事件来触发某个操作,这些事件包括insert语句.update语句和delete语句.当数据库系统执行这些事件时,会激活触发器执行相应操作.MySQL从5.0.2开始支持触发器.使用触发 ...
- MySQL入门很简单: 14MySQL日志
二进制日志: 以二进制文件的形式记录了数据库中的操作,但不记录查询语句 错误日志: 记录MySQL服务器的启动,关闭和运行错误等信息 通用查询日志: 记录用户登录和记录查询的信息 慢查询日志: 记录执 ...
- MySQL入门很简单: 13 数据备份和还原
1. 数据备份 1)使用mysqldump命令备份 第一种:备份一个数据库 mysqldump -u username -p dbname table1 table2 ... > BackupN ...
- MySQL入门很简单: 8查询数据
1. 查询语句语法 SELECT 属性列表 FROM 表名和视图列表 [WHERE 条件表达式1] [GROUP BY 属性名1 [HAVING t条件表达式2]] [ORDER BY 属性名2 [A ...
- MySQL入门很简单: 2 MySQL数据类型
2. MySQL数据类型 2.1 整数类型 后面的是默认显示宽度: tinyint(4) smallint(6) mediumint(9) int(11) bigint(20) 2.2 浮点型和定点数 ...
- MySQL入门很简单: 6 视图
1. 视图含义作用 视图是虚拟的表,是从数据率中一个或多个表中导出来的表: 数据库中只存放了视图的定义,没有存放视图中的数据,数据在原先的表中: 一旦表中的数据发生变化,显示在视图中的数据也会发生 ...
随机推荐
- photoshop中魔棒工具的使用
魔术棒工具一般用于纯色背景快速扣图,打开魔术棒工具,设定容差,点击选定背景,清除,文件-保存为png格式图片.ok! 魔棒工具是photoshop中提供的一种比较快捷的抠图工具,对于一些分界线比较明显 ...
- canvas基础入门(一)canvas的width、height于css样式中的宽高区别
canvas的width.height于css样式中的宽高对画布的内容显示是有所区别的 1.在canvas标签下调用他的width和height,而且是没有单位的宽高,这种指定canvas大小的方法也 ...
- my.常用的话
1. 60普通副本+++ 60普通副本+++ 60普通副本+++ 50封妖+++50封妖+++50封妖+++ 60一本十妖+++ 60一本十妖+++ 60一本十妖+++ 60封妖+++60封妖+++6 ...
- 转 深入解析:一主多备DG环境,failover的实现过程详解 以及 11g 容灾库可以在线添加tempfile. 以及 11g 容灾库可以在线添加logile.
https://yq.aliyun.com/articles/229600 核心,就是11g通过datafille_scn 号来追日志,而不是日志序列号来追日志. 加快standby switchov ...
- 对四次挥手中的TIME_WAIT状态的学习
TIME_WAIT状态不必多说 是属于四次挥手中的一种特殊状态 作用有两点简单明了 不废话 (1)可靠的实现TCP全双工连接的终止 (2)允许老的重复的.迟到的分节在网络中消逝 ...
- java && C# 线程
1.多个线程用到同一个资源的话,必须lock 2.为了解决,在竞争的情况下,优先分配资源给A.就是A和B线程都同时在同一时刻需要资源x,然后的话也不清楚系统是具体怎样调度的.或者说怎样调度,都有可 ...
- maya2013无法安装卸载激活失败
AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...
- httpUrlConnection连接网络的用法(用到了handle传递消息,在主线程中更新UI)
由于httpclient在Android5.0以后已经过时,所以官方推荐使用httpUrlConnection来连接网络,现将该连接的基本方法展示,如下 注意:记得加入<uses-permiss ...
- [PHP]Mysql的运用
1.创建数据库和表,代码如下: //创建数据库函数 function createDB($DBname){ $query="CREATE DATABASE $DBname"; re ...
- HDU 5379——Mahjong tree——————【搜索】
Mahjong tree Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Tota ...