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. java web中获取各种路径

    一.获取项目路径: 1) String path = request.getContextPath() :// /TestMyEclipseString basePath = request.getS ...

  2. 实验七 c字符数组和字符串函数

    7.1 #include<stdio.h>#include<string.h> int main(){ char a[40]; int i; gets(a); //输入字符串进 ...

  3. 特征选择:方差选择法、卡方检验、互信息法、递归特征消除、L1范数、树模型

    转载:https://www.cnblogs.com/jasonfreak/p/5448385.html 特征选择主要从两个方面入手: 特征是否发散:特征发散说明特征的方差大,能够根据取值的差异化度量 ...

  4. [ffmpeg_3.3.2]demuxing_decoding.c

    分析ffmpeg3.3.2的example: 由于ffmpeg文档比较少,而且API变化表较大,所以个人首先从ffmpeg自带的demo开始分析,分析(demuxing_decoding.c) 1:首 ...

  5. 基本数据结构:链表(list)

    copy from:http://www.cppblog.com/cxiaojia/archive/2012/07/31/185760.html 基本数据结构:链表(list) 谈到链表之前,先说一下 ...

  6. tornado-模板继承extend,函数和类的导入

    大 import tornado.ioloop import tornado.web import tornado.httpserver # 非阻塞 import tornado.options # ...

  7. ldap快速配置

    1.[yum lamp环境] yum  -y install httpd httpd-devel mysql mysql-server mysql-devel php php-mysql php-co ...

  8. jdk1,8 HashMap

    Java源码分析:HashMap 1.8 相对于1.7 到底更新了什么? 上面网站总结很详细  源码除了具体操作其余全罗列.这里就不总结了

  9. 位运算骚操作 Part 1

    ▶ 原文标题<Bit Twiddling Hacks>,地址:https://graphics.stanford.edu/~seander/bithacks.html ▶ 额外参考资料:h ...

  10. zabbix3.4.7 饼图显示问题

    最近安装了zabbix3.4.7,发现系统自带Template OS Linux模版饼图(Pie)有两个问题: Total disk space on / 显示为 no data,也就是没有数据: 把 ...