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. file_get_contents failed to open stream: HTTP request failed(一个字符决定成败)

    file_get_contents 开始成功了.后来不知怎么的就报错,调试半天没发现什么问题. 结果.里面多了一个"空格"就报错.去掉空格就好了,你们仔细找找吧.

  2. React-Native 在android写不支持gif的解决方案!

    只需要在android/app/build.gradle中的dependencies字段中添加: compile 'com.facebook.fresco:animated-gif:0.13.0' 然 ...

  3. SpringBoot中实现依赖注入功能

    本文转载自:https://blog.csdn.net/linzhiqiang0316/article/details/52639888 今天给大家介绍一下SpringBoot中是如何实现依赖注入的功 ...

  4. CMake Error: Curses library not found. Please install appropriate package

    编译安装MySQL的时候,出现错误: -- Could NOT find Curses (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH) CMake Err ...

  5. Linux性能分析 vmstat输出

    vmstat输出     1.linux系统下vmstat输出   vmstat的输出分为以下几种模式:   (1).VM MODE (普通选项) (2).DISK MODE(-d选项) (3).DI ...

  6. JpGraph使用详解之中文乱码解决方法

    在前面的JpGraph使用详解这篇文章,已经对JpGraph的使用方法作了详细的交代,前面说好的,接下来解决中文乱码. JpGraph为什么会出现中文乱码 在JpGraph中默认是要把字符串转成utf ...

  7. 浅析Spring框架之一(Spring简介)

    免责声明 本文为鄙人搜集网络资源并结合自己所思所得整理而成,如有侵权,敬请谅解. 何为spring框架 Spring是一个开源的轻量级控制反转(IoC)和面向切面(AOP)的容器框架. ◆目的:解决企 ...

  8. 【Python编程:从入门到实践】chapter9 类

    chapter9 类 9.1 创建和使用类 9.1.1 创建Dog类 class Dog(): """一次模拟小狗的简单尝试""" def ...

  9. 洛谷::P1972 [SDOI2009]HH的项链

    题目背景 无 题目描述 HH 有一串由各种漂亮的贝壳组成的项链.HH 相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一段贝壳,思考它们所表达的含义.HH 不断地收集新的贝壳,因此,他的项链 ...

  10. ORM sqlachemy学习

    内容: 1.ORM介绍 2.SQLAlchemy介绍 3.SQLAlchemy内部处理 4.SQLAlchemy使用 参考: http://www.cnblogs.com/wupeiqi/articl ...