重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
工具:eclipse
创新互联公司为您提适合企业的网站设计 让您的网站在搜索引擎具有高度排名,让您的网站具备超强的网络竞争力!结合企业自身,进行网站设计及把握,最后结合企业文化和具体宗旨等,才能创作出一份性化解决方案。从网站策划到成都网站设计、网站制作、外贸营销网站建设, 我们的网页设计师为您提供的解决方案。
MySQL5.6
MySQL连接驱动:mysql-connector-java-5.1.27.jar
加载驱动:
1. 在工程目录中创建lib文件夹,将下载好的JDBC放到该文件夹下,如下图所示:
2. 右键工程名,在java build path中的Libraries分页中选择Add JARs...,选择刚才添加的JDBC,如下图:
数据包准备:
在数据库sqltestdb中创建如下数据表emp:
1
2
3
4
5
6
7
CREATE TABLE emp(
empno INT(4) PRIMARY KEY,
ename VARCHAR(10),
job VARCHAR(9),
hiredate DATE,
sal FLOAT(7,2)
) ;
添加数据:
连接数据库并读取数据:
数据库名称:sqltestdb
数据包名称:emp
端口号:3306
用户名:root
密码:root
1 package sqldemo;
2
3 import java.sql.Connection;
4 import java.sql.DriverManager;
5 import java.sql.ResultSet;
6 import java.sql.SQLException;
7 import java.sql.Statement;
8
9 public class main {
10
11 public static void main(String[] args) {
12 //声明Connection对象
13 Connection con;
14 //驱动程序名
15 String driver = "com.mysql.jdbc.Driver";
16 //URL指向要访问的数据库名mydata
17 String url = "jdbc:mysql://localhost:3306/sqltestdb";
18 //MySQL配置时的用户名
19 String user = "root";
20 //MySQL配置时的密码
21 String password = "123456";
22 //遍历查询结果集
23 try {
24 //加载驱动程序
25 Class.forName(driver);
26 //1.getConnection()方法,连接MySQL数据库!!
27 con = DriverManager.getConnection(url,user,password);
28 if(!con.isClosed())
29 System.out.println("Succeeded connecting to the Database!");
30 //2.创建statement类对象,用来执行SQL语句!!
31 Statement statement = con.createStatement();
32 //要执行的SQL语句
33 String sql = "select * from emp";
34 //3.ResultSet类,用来存放获取的结果集!!
35 ResultSet rs = statement.executeQuery(sql);
36 System.out.println("-----------------");
37 System.out.println("执行结果如下所示:");
38 System.out.println("-----------------");
39 System.out.println("姓名" + "\t" + "职称");
40 System.out.println("-----------------");
41
42 String job = null;
43 String id = null;
44 while(rs.next()){
45 //获取stuname这列数据
46 job = rs.getString("job");
47 //获取stuid这列数据
48 id = rs.getString("ename");
49
50 //输出结果
51 System.out.println(id + "\t" + job);
52 }
53 rs.close();
54 con.close();
55 } catch(ClassNotFoundException e) {
56 //数据库驱动类异常处理
57 System.out.println("Sorry,can`t find the Driver!");
58 e.printStackTrace();
59 } catch(SQLException e) {
60 //数据库连接失败异常处理
61 e.printStackTrace();
62 }catch (Exception e) {
63 // TODO: handle exception
64 e.printStackTrace();
65 }finally{
66 System.out.println("数据库数据成功获取!!");
67 }
68 }
69
70 }
运行结果:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Succeeded connecting to the Database!
-----------------
执行结果如下所示:
-----------------
姓名 职称
-----------------
李兴华 经理
张三 总监
王五 厂长
齐秦 书记
张刚 组长
曹操 财务
李四 总裁
数据库数据成功获取!!
增加、删除和修改数据:
增加数据:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
String name;
String id;
PreparedStatement psql;
ResultSet res;
//预处理添加数据,其中有两个参数--“?”
psql = con.prepareStatement("insert into emp (empno,ename,job,hiredate,sal) "
+ "values(?,?,?,?,?)");
psql.setInt(1, 3212); //设置参数1,创建id为3212的数据
psql.setString(2, "王刚"); //设置参数2,name 为王刚
psql.setString(3, "总裁");
DateFormat dateFormat2 = new SimpleDateFormat("yyyy-MM-dd");
Date myDate2 = dateFormat2.parse("2010-09-13");
psql.setDate(4,new java.sql.Date(myDate2.getTime()));
psql.setFloat(5, (float) 2000.3);
psql.executeUpdate(); //执行更新
运行结果:
更新数据:
PreparedStatement psql;
//预处理更新(修改)数据,将王刚的sal改为5000.0
psql = con.prepareStatement("update emp set sal = ? where ename = ?");
psql.setFloat(1,(float) 5000.0);
psql.setString(2,"王刚");
psql.executeUpdate();
更改结果:
删除数据:
PreparedStatement psql;
//预处理删除数据
psql = con.prepareStatement("delete from emp where sal ?");
psql.setFloat(1, 4500);
psql.executeUpdate();
psql.close();
删除结果:
驱动mysql-connector-java-5.0.5.zip(这个是最新版的)。然后将其解压缩到任一目录。我是解压到D盘,然后将其目录下的
mysql-connector-java-5.0.5-bin.jar加到classpath里,
具体如下:“我的电脑”- “属性” - “高级” -
“环境变量”,在系统变量那里编辑classpath,将D:\mysql-connector-java-5.0.5\mysql-
connector-java-5.0.5-bin.jar加到最后,在加这个字符串前要加“;”,以与前一个classpath区分开。然后确定。
环境配置好了,很简单。现在,先配置Java连接MySQL,设其用户名为“root”,密码为“root”。在命令行或用一个SQL的前端软件创建Database。
我是用SQLyog的前端软件来创建Database的。
先创建数据库:
CREATE DATABASE SCUTCS;
接着,创建表:
CREATE TABLE STUDENT ( SNO CHAR(7) NOT NULL, SNAME VARCHAR(8) NOT NULL, SEX CHAR(2) NOT NULL, BDATE DATE NOT NULL, HEIGHT DEC(5,2) DEFAULT 000.00, PRIMARY KEY(SNO) );
然后插入数据,可以用SQL语句insert into 表名 values (value1, value2, ...);
也可以用SQLyog来操作
好了,创建好了。
下面,我们来编写.java文件来演示一下如何访问Java连接MySQL数据库。
import java.sql.*; public class JDBCTest { public static void main(String[] args){
驱动程序名
String driver = "com.mysql.jdbc.Driver";
// URL指向要访问的数据库名scutcs
String url = "jdbc:mysql://127.0.0.1:3306/scutcs";
// MySQL配置时的用户名
String user = "root";
// Java连接MySQL配置时的密码
String password = "root";
try {
// 加载驱动程序
Class.forName(driver);
// 连续数据库
Connection conn = DriverManager.getConnection(url, user, password);
if(!conn.isClosed())
System.out.println("Succeeded connecting to the Database!");
// statement用来执行SQL语句
Statement statement = conn.createStatement();
// 要执行的SQL语句
String sql = "select * from student";
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.text.SimpleDateFormat;
import java.util.Date;
public class JDBCMySQL {
// 驱动程序就是之前在classpath中配置的jdbc的驱动程序的jar包中
public static final String DBDRIVER = "org.gjt.mm.mysql.Driver";
// 连接地址是由各个数据库生产商单独提供的,所以需要单独记住
public static final String DBURL = "jdbc:mysql://localhost:3306/mldn";
// 连接数据库的用户名
public static final String DBUSER = "root";
// 连接数据库的密码
public static final String DBPASS = "mysqladmin";
public static void main(String[] args) throws Exception {
Connection conn = null; // 表示数据库的连接的对象
PreparedStatement pstmt = null; // 表示数据库的更新操作
String name = "张三";
int age = 30;
Date date = new SimpleDateFormat("yyyy-MM-dd").parse("1983-02-15");
float salary = 7000.0f;
String sql = "INSERT INTO person(name,age,birthday,salary) VALUES (?,?,?,?) ";
System.out.println(sql) ;
// 1、使用Class类加载驱动程序
Class.forName(DBDRIVER);
// 2、连接数据库
conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS);
// 3、PreparedStatement接口需要通过Connection接口进行实例化操作
pstmt = conn.prepareStatement(sql) ;// 使用预处理的方式创建对象
pstmt.setString(1, name) ;// 第一个?号的内容
pstmt.setInt(2, age) ; // 第二个?号的内容
pstmt.setDate(3, new java.sql.Date(date.getTime())) ;
pstmt.setFloat(4,salary) ;
// 执行SQL语句,更新数据库
pstmt.executeUpdate();
// 4、关闭数据库
pstmt.close() ;
conn.close();
}
}
Java MySQL 连接
Java 连接 MySQL 需要驱动包,百度就有自行下载,解压后得到jar库文件,然后在对应的项目中导入该库文件。
本实例使用的是 Eclipse,导入 jar 包:
创建测试数据
接下来我们在 MySQL 中创建 RUNOOB 数据库,并创建 websites 数据表,表结构如下:
CREATE TABLE `websites` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` char(20) NOT NULL DEFAULT '' COMMENT '站点名称',
`url` varchar(255) NOT NULL DEFAULT '',
`alexa` int(11) NOT NULL DEFAULT '0' COMMENT 'Alexa 排名',
`country` char(10) NOT NULL DEFAULT '' COMMENT '国家',
PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
数据表显示如下:
连接数据库
以下实例使用了 JDBC 连接 MySQL 数据库,注意一些数据如用户名,密码需要根据你的开发环境来配置:
MySQLDemo.java 文件代码:
package com.runoob.test;
import java.sql.*;
public class MySQLDemo {
// JDBC 驱动名及数据库 URL
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/RUNOOB";
// 数据库的用户名与密码,需要根据自己的设置
static final String USER = "root";
static final String PASS = "123456";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try{
// 注册 JDBC 驱动
Class.forName("com.mysql.jdbc.Driver");
// 打开链接
System.out.println("连接数据库...");
conn = DriverManager.getConnection(DB_URL,USER,PASS);
// 执行查询
System.out.println(" 实例化Statement对...");
stmt = conn.createStatement();
String sql;
sql = "SELECT id, name, url FROM websites";
ResultSet rs = stmt.executeQuery(sql);
// 展开结果集数据库
while(rs.next()){
// 通过字段检索
int id = rs.getInt("id");
String name = rs.getString("name");
String url = rs.getString("url");
// 输出数据
System.out.print("ID: " + id);
System.out.print(", 站点名称: " + name);
System.out.print(", 站点 URL: " + url);
System.out.print("\n");
}
// 完成后关闭
rs.close();
stmt.close();
conn.close();
}catch(SQLException se){
// 处理 JDBC 错误
se.printStackTrace();
}catch(Exception e){
// 处理 Class.forName 错误
e.printStackTrace();
}finally{
// 关闭资源
try{
if(stmt!=null) stmt.close();
}catch(SQLException se2){
}// 什么都不做
try{
if(conn!=null) conn.close();
}catch(SQLException se){
se.printStackTrace();
}
}
System.out.println("Goodbye!");
}
}
以上实例执行输出结果如下:
我有一个微信公众号,经常会分享一些Java技术相关的干货,还有一些学习资源。
如果你喜欢我的分享,可以用微信搜索“Java团长”或者“javatuanzhang”关注。
下面代码是使用jdbc直接链接mysql的操作,链接方式与SQL SERVER类似,区别在于加载的驱动不同,url的设置也有点区别,用户名、密码、端口号这些设置都类似
执行脚本返回的结果,可以看出java成功链接上mysql并获取到返回值
mysql-connector-java-5.1.26-bin.jar是java链接mysql使用的jar包,与SQL SERVER链接也有专门的jar包,jar包中包含了java链接mysql所用到的函数驱动等等,所有的jar包都是放到web工程lib目录下
4
如果工程是整合在ssh下,一般情况下都会有一个properties文件,该文件配置了数据库链接常用的命令,下图是mysql中的配置
使用spring框架下进行的测试,结果可以成功执行,其实无论是sql server还是mysql还是其他的数据库,基本功能都一样,只是语法结构有所区别,java在调用的过程中大部分功能只要切换了数据库链接命令就可以公用,如果系统架构设计的足够好,当我们切换数据库的时候,应用程序是不用调整就能兼容的
连接 mysql数据库可以参考如下java代码:
import java.sql.Connection ;
import java.sql.DriverManager ;
import java.sql.SQLException ;
public class ConnectionDemo{
// 定义MySQL的数据库驱动程序
public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
// 定义MySQL数据库的连接地址
public static final String DBURL = "jdbc:mysql://localhost:3306/mldn" ;
// MySQL数据库的连接用户名
public static final String DBUSER = "root" ;
// MySQL数据库的连接密码
public static final String DBPASS = "mysqladmin" ;
public static void main(String args[]){
Connection conn = null ;// 数据库连接
try{
Class.forName(DBDRIVER) ;// 加载驱动程序
}catch(ClassNotFoundException e){
e.printStackTrace() ;
}
try{
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;
}catch(SQLException e){
e.printStackTrace() ;
}
System.out.println(conn) ;// 如果此时可以打印表示连接正常
try{
conn.close() ;// 数据库关闭
}catch(SQLException e){
e.printStackTrace() ;
}
}
};