jdbc工具mysql数据库_JDBC驱动直接访问MySQL数据库(纯Java驱动程序)

JDBC驱动直接访问MySQL数据库(纯Java驱动程序)

发布时间:2018-02-09 22:41,

浏览次数:423

, 标签:

JDBC

MySQL

Java

纯Java驱动方式由JDBC驱动直接访问数据库,驱动程序完全由Java语言编写,运行速度快,而且具备了跨平台的特点。使用纯Java驱动方式进行数据库连接,首先需要下载数据库厂商提供的驱动程序JAR包,并将JAR包引入工程中。本示例使用的数据库是MySQL

5.5(对应驱动程序JAR包下载地址:http://download.csdn.net/download/jisuanjiguoba/10247910),

假定在MySQL数据库中已经建立名称为test的数据库。

示例代码:

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Connection;

import java.sql.Statement;

public class Jdbctest {

public static void main(String[] args) throws Exception {

Connection conn = null;

String user = "root";

String pwd = "root";

String sql;

// MySQL的JDBC URL编写方式:jdbc:mysql://主机名称:连接端口/数据库的名称?参数=值

// 避免中文乱码要指定useUnicode和characterEncoding

// 在运行本程序前先创建test数据库

//String url = "jdbc:mysql://localhost:3306/test";

//String url = "jdbc:mysql://localhost:3306/test?"

//+

"user=root&password=root&useUnicode=true&characterEncoding=UTF8";

String url = "jdbc:mysql://localhost:3306/test?"

+ "user=root&password=root";

try {

Class.forName("com.mysql.jdbc.Driver");// 动态加载mysql驱动

System.out.println("MySQL驱动程序加载成功");

conn = DriverManager.getConnection(url);

// Statement里面带有很多方法,比如executeUpdate可以实现插入,更新和删除等

Statement stmt = conn.createStatement();

sql = "create table student(NO char(20),name varchar(20),primary key(NO))

charset utf8 collate utf8_general_ci";

int result = stmt.executeUpdate(sql);//

executeUpdate语句会返回一个受影响的行数,如果返回-1就没有成功

if (result != -1) {

System.out.println("创建数据表成功");

sql = "insert into student(NO,name) values('2018006','陈星')";

result = stmt.executeUpdate(sql);

sql = "insert into student(NO,name) values('2018008','李杰')";

result = stmt.executeUpdate(sql);

sql = "select * from student";

ResultSet rs = stmt.executeQuery(sql);//

executeQuery会返回结果的集合,否则返回空值

System.out.println("学号\t姓名");

while (rs.next()) {

System.out.println(rs.getString(1) + "\t" +

rs.getString(2));

}

}

} catch (SQLException e) {

System.out.println("MySQL操作有误");

e.printStackTrace();

} catch (Exception e) {

e.printStackTrace();

} finally {

conn.close();

}

}

}

注意事项:

①如果sql = "create table student(NO char(20),name varchar(20),primary key(NO))";

则会出现如下情况

Incorrect string value: '\xE9\x99\xB6\xE4\xBC\x9F...' for column

'name' at row 1

因此需要将其改为sql = "create table student(NO char(20),name varchar(20),primary

key(NO))charset utf8 collate utf8_general_ci";  以便在创建数据表的时候设置编码(整个过程需要注意:

创建数据库的时候数据编码设置是否有误,连接数据库的时候数据编码是否有误,创建数据表的时候数据编码是否有误)。

②如果出现java.sql.SQLException: Access denied for user 'root'@'localhost' (using

password: NO)则是由于安装MySQL数据库时默认的初始化密码造成的问题,可根据相关更改MySQL初始密码的教程进行密码重置。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值