Java操作MySQL数据库,需要驱动mysql-connector-java 来进行操作,去下载对应的jar包
 

一、导入需要的jar包

我用的是maven对包进行管理,在maven中添加如下内容,直接重新导入Reimport一下包就下载下来了
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.37</version>
</dependency>
想要其他的版本,可以自己去maven的http://www.mvnrepository.com/去找,搜索对应的依赖。
 

二、开始具体编码

1.加载驱动程序
Class.forName("com.mysql.jdbc.Driver" );
说明:将这个驱动加载到JVC中
 
2.连接数据库(con是自定义的)
Connection con = DriverManager.getConnection(url, user, password)
3.建立Statement对象,用来执行sql语句
Statement stmt = con.createStatement();
 
4.执行sql语句
可以进行查询、update等操作,我这里只用到了查询,更新可以用 executeUpdate
 
查询语句:
res = stmt.executeQuery(sql)
说明:stmt为自己创建的Statement对象,sql为要执行的sql具体语句,是String类型的
 
5.提取查询结果中的某一项
while(res.next()) {
long info_id = res.getLong("info_id");
}
说明:
1.因为查询结果可能不止一条,所以要进行遍历,只要有这一条就可以获得出来
2.上面是查询出了字段名为“info_id”的项存到info_id的变量中,是long的变量类型(这里一定要看表设计中的字段类型,有的是可以用int,但是有的是long)
3.如果是char等类型的可以用res.getString("XXX")获得对应的值;再有其他类型可以具体自己去查询对应方法
 
 我写的一个java操作MySQL的具体代码如下:
package entity;
import java.sql.*;
import java.sql.Connection;
import java.sql.Statement; /**
* Created by lenovo on 2015/12/7.
*/
public class JDBC{
Statement stmt =null;
ResultSet rs =null;
String result = null;
public JDBC(){
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://10.5.17.66:58885/?useUnicode=true&characterEncoding=utf-8";
String user = "root";
String password = "123456";
try {
Class.forName(driver);
// System.out.println("找到驱动了");
try {
Connection con = DriverManager.getConnection(url, user, password);
// System.out.println("数据库连接成功!");
this.stmt = con.createStatement();
} catch (SQLException e) {
System.out.println("数据库连接失败!");
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
System.out.println("找不到驱动程序类 ,加载驱动失败!");
e.printStackTrace();
}
}
//该方法返回的是全部的sql结果,在调用时需要自己去遍历然后取得相应结果
public ResultSet getresult(String sql) {
try {
this.rs = this.stmt.executeQuery(sql);
return this.rs;
}catch (SQLException e){
System.out.println("SQL中找不到要查找的字段!");
e.printStackTrace();
return this.rs;
}
}
//该方法是直接获得了要找的字段名对应的结果,只取一条,所以会不断的覆盖,取到最后一条,试用与sql结果只有一个的情况,如果是结果是好多行数据,需要用ExcuteSql的方法
public String getresult(String sql,String key){
try {
this.rs = this.stmt.executeQuery(sql);
}catch (SQLException e){
System.out.println("SQL中找不到要查找的字段!");
e.printStackTrace();
}
try{
while(this.rs.next()) {
this.result = this.rs.getString(key);
}
}catch (Exception e){
System.out.println("SQL获取结果异常!");
e.printStackTrace();
}
return this.result;
}
public static void main(String args[]) {
JDBC test = new JDBC();
String sql = "SELECT * from dbwww58com_info.info limit 1";
//会有多列结果时,只传递sql
ResultSet res = test.getresult(sql);
System.out.print(res);
try{
while(res.next()) {
long info_id = res.getLong("info_id");
System.out.println("\ninfo_id:" + info_id);
}
}catch (Exception e){
System.out.println("SQL获取结果异常!");
e.printStackTrace();
}
//只有一个结果时,传递sql和key两个参数
// String result= test.getresult(sql, "info_id");
// System.out.println("结果是"+result);
}
}
执行结果如下:
 
说明:这里写方法getresult()时用到了重载,因为java不支持对参数赋值默认值,所以只能用重载实现这样的功能(同一个执行方法,我一个指向获得查询结果,一个想获得查询结果中具体的某一个字段值),关于java重载的使用,我过几天会再写一篇随笔来补充一下~
 

Java连接MySQL数据库及操作的更多相关文章

  1. Java连接MySQL数据库及简单操作代码

    1.Java连接MySQL数据库 Java连接MySql需要下载JDBC驱动MySQL-connector-java-5.0.5.zip(举例,现有新版本).然后将其解压缩到任一目录.我是解压到D盘, ...

  2. 转载:Java连接MySQL 数据库的正确操作流程

    转载网址:http://www.bitscn.com/pdb/mysql/201005/186551.html       以下的文章主要介绍的是Java连接MySQL 数据库(以MySQL数据库为例 ...

  3. Java进阶(二十五)Java连接mysql数据库(底层实现)

    Java进阶(二十五)Java连接mysql数据库(底层实现) 前言 很长时间没有系统的使用java做项目了.现在需要使用java完成一个实验,其中涉及到java连接数据库.让自己来写,记忆中已无从搜 ...

  4. java连接MySql数据库 zeroDateTimeBehavior

    JAVA连接MySQL数据库,在操作值为0的timestamp类型时不能正确的处理,而是默认抛出一个异常, 就是所见的:java.sql.SQLException: Cannot convert va ...

  5. java连接mysql数据库详细步骤解析

    java连接mysql数据库详细步骤解析      第一步:下载一个JDBC驱动包,例如我用的是:mysql-connector-java-5.1.17-bin.jar      第二步:导入下载的J ...

  6. Java连接MySQL数据库增删改查通用方法

    版权声明:本文为博主原创文章,未经博主允许不得转载. Java连接MySQL数据库增删改查通用方法 运行环境:eclipse+MySQL 以前我们Java连接MySQL数据库都是一个数据库写一个类,类 ...

  7. Java 连接 MySQL 数据库

    最近想学习一下 Java 连接 MySQL 数据库,于是有了这样的一些问题&解决办法. 首先是解决 JDBC(Java Data Base Connectivity)驱动问题,因为默认安装的J ...

  8. MySQL学习(一)——Java连接MySql数据库

    MySQL学习(一)——Java连接MySql数据库 API详解: 获得语句执行 String sql = "Insert into category(cid, cname) values( ...

  9. JDBC Java 连接 MySQL 数据库

    MySQL 版本:Server version: 5.7.17-log MySQL Community Server (GPL) 用于测试的 MySQL 数据库:game 查看数据库中的表 mysql ...

随机推荐

  1. Python获取当前年月日

    import datetime datetime.datetime.now().year datetime.datetime.now().month datetime.datetime.now().d ...

  2. 尽量少嵌套无用的div;外部文件尽量使用link而不要使用用@import

    最近的工作又学到了很多东西,在这里记录一下. 1,尽量少嵌套无用的div,这个问题领导很严肃的跟我提过很多次,因为我很喜欢用很多div,而且有很多div都是无存在意义的.后来领导给了我一些资料,我看了 ...

  3. vcenter修改用户密码的方法

    https://192.168.x.x:9443登录,必须用administrator@vsphere.local登录,不能用root用户登录. 主页-系统设置- Single Sing-On-用户和 ...

  4. ossfs工具将OSS挂载到阿里云linux系统目录例子

    ossfs 是基于 aliyun OSS 的 fuse 客户端了,所以我们把它用在阿里云上肯定是没有错了,下面来看一篇关于ossfs工具将OSS挂载到阿里云linux系统目录例子,具体的细节如下文介绍 ...

  5. storm的优化以及雪崩问题

    下图来说明什么是雪崩现象: 当spout发送的速度非常快,而bolt的处理速度很慢,spout源源不断地向内存中发送tuple,这样下去迟早会把内存撑爆,这样就叫做雪崩现象! 怎么处理雪崩问题呢 第一 ...

  6. Out 与 Ref 关键字的区别

    相同点:既可以通过值也可以通过引用传递参数.通过引用传递参数允许函数成员更改参数的值,并保持该更改.若要通过引用传递参数, 可使用ref或out关键字.ref和out这两个关键字都能够提供相似的功效, ...

  7. python中函数的返回值

    函数返回值(一) <1>“返回值”介绍 现实生活中的场景: 我给儿子10块钱,让他给我买包烟.这个例子中,10块钱是我给儿子的,就相当于调用函数时传递到参数,让儿子买烟这个事情最终的目标是 ...

  8. 2013年6月编程语言排行榜,C语言位据第一位

    2013年6月编程语言排行榜,C语言位据第一位 C语言是很多主流开发语言的母体,.NET的底层,Java的底层都是C开发的,虽然很多新语言来势汹汹,但究其根源,都脱离不开C语言

  9. angularjs 整合 bootstrap

    第一步 :下载 bootstrap  jquery  ppper.js npm install bootstrap@4.0.0-beta.2 jquery popper.js --save 第二步: ...

  10. c++builder Delphi 直接使用剪贴板 Clipboard

    c++builder Delphi 直接使用剪贴板 Clipboard 剪贴板 delphi use  Vcl.Clipbrd procedure TForm27.FormCreate(Sender: ...