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. 视图含义作用 视图是虚拟的表,是从数据率中一个或多个表中导出来的表: 数据库中只存放了视图的定义,没有存放视图中的数据,数据在原先的表中: 一旦表中的数据发生变化,显示在视图中的数据也会发生 ...
随机推荐
- xpath的基础使用
一.xpath简介 XPath 是一门在 XML 文档中查找信息的语言.XPath 用于在 XML 文档中通过元素和属性进行导航. XPath 使用路径表达式在 XML 文档中进行导航 XPath 包 ...
- hive 全表全字段对比
select * from ( select max(t1.source) as source ,t1.c1 ,t1.c2 ,t1.c3 ,count(*) as cnt from ( as sour ...
- ajax请求状态码为0的解决办法
原文链接:https://blog.csdn.net/changqing5818/article/details/53932463 前言 今天遇到个奇怪的问题,使用JQuery的ajax请求,后台的C ...
- RobotFramework AppiumLibrary 用户关键字
RobotFramework AppiumLibrary 用户关键字 最近在用robotframework搞安卓app 的自动化,其中用到了 AppiumLlibrary 的关键字,我都映射成了用户关 ...
- centos7安装并配置postgresql
安装并配置postgresql,参考以下两篇文章即可 https://www.postgresql.org/download/linux/redhat/ http://www.jianshu.com/ ...
- 所有节点配置NTP服务
主节点: 打开vim /etc/ntp.conf文件 For more information about this file, see the man pages # ntp.conf(), ntp ...
- python 下载图片
import requests from PIL import Image from io import BytesIO url = 'http://image2.buslive.cn/shp/upl ...
- leetcode 620. Not Boring Movies 用where语句判断
https://leetcode.com/problems/not-boring-movies/description/ 不管题目简不简单,现在先熟悉语法. 直接用where语句判断即可,判断奇偶可以 ...
- 关于GPU的 MAKEFILE
引言 最近由于更换项目,服务器也被换走,估计一时半会用不到GPU了,因此最近想把前一段时间做的一些工作,整理记录一下. 实验室采用的GPU有两款: 1. 服务器上的板卡:NVIDIA的Tesla K2 ...
- Entity Framework Many to Many Relation Mapping(Entity Framework多对多关系映射)
通常我们在做数据库设计时都会有两张表是多对多关系的时候,在数据库做多对多关系时候我们通常通过中间关联表来处理,那我们现在在EF中是如何处理的呢? 假设我们有如下关系,用户(User)包含多个角色(Ro ...