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. php curl_init函数用法(http://blog.sina.com.cn/s/blog_640738130100tsig.html)

    使用PHP的cURL库可以简单和有效地去抓网页.你只需要运行一个脚本,然后分析一下你所抓取的网页,然后就可以以程序的方式得到你想要的数据了.无论是你想从从一个链接上取部分数据,或是取一个XML文件并把 ...

  2. 知识点查缺补漏贴03:单机最大进程数,线程数和Socket连接数

    前言: 参加Unix/Linux相关高级研发职位时,是否经常会被文档,单机允许最大进程数.线程数和Socket连接数,而你却感到束手无措呢?本文给你一个最为详细的答案. 一.最大进程数 运行Linux ...

  3. Zabbix 命令:zabbix_get

    zabbix_get 作用总有人在群里提问,为什么 zabbix 获取不到数据,为什么 zabbix 提示 Not Support,怎么办?别老问,用 zabbix_get 试着获取数据即可.在 za ...

  4. bzoj 3768: spoj 4660 Binary palindrome二进制回文串

    Description 给定k个长度不超过L的01串,求有多少长度为n的01串S满足: 1.该串是回文串 2.该串不存在两个不重叠的子串,在给定的k个串中. 即不存在a<=b<c<= ...

  5. R语言学习——条件筛选

  6. 在chrome中安装基于REST的web服务客户端

    基于REST的Web服务客户端的使用方法 点击转到基于REST的Web服务客户端下载页面 chrome浏览器如果安装扩展程序点击chrome浏览器右上角,选择“设置在“设置”对话框里选择“扩展程序”然 ...

  7. http 各个状态返回值

    code 定义在 org.apache.http.HttpStatus 转载来自于:http://desert3.iteye.com/blog/1136548 502 Bad Gateway:tomc ...

  8. 接口测试3-3Excel格式

    java操作Excel,需要第三方库poi #xml <dependency> <groupId>org.apache.poi</groupId> <arti ...

  9. 比较java枚举成员使用equal还是==

    问题 我知道Java枚举会被编译成一个包含私有构造参数和一堆静态方法的类,当去比较两个枚举的时候,总是使用equals()方法,例如: public useEnums(SomeEnum a) { if ...

  10. 【转】SQL模糊查询

    在进行数据库查询时,有完整查询和模糊查询之分. 一般模糊查询语句如下: SELECT 字段 FROM 表 WHERE 某字段 Like 条件 其中关于条件,SQL提供了四种匹配模式: 1,% :表示任 ...