所需jar包:mysql-connector-java.jar

代码:

import java.sql.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement; public class ConnectMySQL { public static String driver = "com.mysql.jdbc.Driver"; private static String host; private static String user; private static String pwd; private static Connection conn = null; private static Statement stmt = null; public static void connect(String host, String user, String pwd) {
ConnectMySQL.close();
ConnectMySQL.host = host;
ConnectMySQL.user = user;
ConnectMySQL.pwd = pwd;
} public static synchronized List<HashMap<String, String>> query(String sql) {
return ConnectMySQL.result(sql);
} public static synchronized void close() {
try {
if (stmt != null) {
stmt.close();
stmt = null;
}
if (conn != null) {
conn.close();
conn = null;
}
} catch (SQLException e) {
e.printStackTrace();
}
} private static void connectMySQL() {
try {
Class.forName(driver).newInstance();
conn = (Connection) DriverManager.getConnection("jdbc:mysql://"
+ host + "?useUnicode=true&characterEncoding=UTF8", user,
pwd);
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} } private static void statement() {
if (conn == null) {
ConnectMySQL.connectMySQL();
}
try {
stmt = (Statement) conn.createStatement();
} catch (SQLException e) {
e.printStackTrace();
}
} private static ResultSet resultSet(String sql) {
ResultSet rs = null;
if (stmt == null) {
ConnectMySQL.statement();
}
try {
rs = stmt.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
} private static List<HashMap<String, String>> result(String sql) {
ResultSet rs = ConnectMySQL.resultSet(sql);
List<HashMap<String, String>> result = new ArrayList<HashMap<String, String>>();
try {
ResultSetMetaData md = rs.getMetaData();
int cc = md.getColumnCount();
while (rs.next()) {
HashMap<String, String> columnMap = new HashMap<String, String>();
for (int i = 1; i <= cc; i++) {
columnMap.put(md.getColumnName(i), rs.getString(i));
}
result.add(columnMap);
}
} catch (SQLException e) {
e.printStackTrace();
}
return result;
} public static void main(String[] args) throws SQLException {
ConnectMySQL
.connect("192.168.1.1/test", "test", "test");
List<HashMap<String, String>> rs = ConnectMySQL
.query("SELECT * from test");
System.out.println(rs.get(0).get("test"));
ConnectMySQL.close();
}
}

JAVA操作mysql的更多相关文章

  1. 总结java操作MySQL 即JDBC的使用

    java.sql包中存在DriverManager类,Connection接口,Statement接口和ResultSet接口.类和接口作用如下: DriverManager:主要用于管理驱动程序和连 ...

  2. java操作MySQL数据库(插入、删除、修改、查询、获取所有行数)

    插播一段广告哈:我之前共享了两个自己写的小应用,见这篇博客百度地图开发的两个应用源码共享(Android版),没 想到有人找我来做毕设了,年前交付,时间不是很紧,大概了解了下就接下了,主要用到的就是和 ...

  3. Java 操作MySql数据库

    Java 项目开发中数据库操作是很重要的一个方面,对于初学者来说,MySql是比较容易熟悉的一种常见数据库,这篇文章记录了如何用Java来操作MySql数据库. 第一章 JDBC的概念 JDBC(Ja ...

  4. JAVA操作mysql(如何更加面向对象的操作数据库)

    既然谈到面向对象,所以,先把连接信息给搞个对象出来: public class DBInfo { private String driver; private String host; private ...

  5. eclipse环境下,java操作MySQL的简单演示

    首先先通过power shell 进入MySQL 查看现在数据库的状态(博主是win10系统) 右键开始,选择Windows powershell ,输入MySQL -u用户名 -p密码 选择数据库( ...

  6. Java操作Mysql笔记

    第一步,需要下载JDBC驱动, 点我.然后选择合适的版本即可. 下载完成之后解压,然后将mysql-connector-java-5.1.6-bin.jar文件放到java的安装目录下面. 这里每个人 ...

  7. JAVA操作Mysql数据库

    String driver = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://127.0.0.1:3306/ph ...

  8. java操作MySQL数据事务的简单学习

    在执行数据更改操作前使用数据库连接对象调用setAutoCommit方法(conn.setAutoCommit(false)),其参数true或false区别: true:sql命令的提交(commi ...

  9. java操作mysql的增删改查

    prepareStatement(sql)是statement的子类,比statement好用. 如果数据库中定义的是int值,那么sql语句中要把int单独提出来.如".....value ...

随机推荐

  1. Introduction to Learning to Trade with Reinforcement Learning

    http://www.wildml.com/2015/12/implementing-a-cnn-for-text-classification-in-tensorflow/ The academic ...

  2. 【math】梯度下降法(梯度下降法,牛顿法,高斯牛顿法,Levenberg-Marquardt算法)

    原文:http://blog.csdn.net/dsbatigol/article/details/12448627 何为梯度? 一般解释: f(x)在x0的梯度:就是f(x)变化最快的方向 举个例子 ...

  3. Chrome中的哪些端口是限制使用的?

      The following is a list of all of the restricted ports on Chrome: 1, // tcpmux 7, // echo 9, // di ...

  4. oauth2-server-php-docs 集成3

    Yii集成 对于Yii集成,请通过Filsh查看Yii OAuth2服务器资源库 CakePHP的 有关CakePHP中集成的这个库的示例,请参阅Qsoomro CakePHP OAuth2 Demo ...

  5. DexHunter脱壳神器分析

    0x00 这篇文章我们分析Android脱壳神器DexHunter的源码. DexHunter作者也写了一篇介绍它的文章从Android执行时出发.打造我们的脱壳神器.DexHunter源码位于htt ...

  6. iOS编程(双语版) - 视图 - 手工代码(不使用向导)创建视图

    如何创建一个空的项目,最早的时候XCode的项目想到中,还有Empty Application template这个选项,后来Apple把它 给去掉了. 我们创建一个单视图项目. 1) 删除main. ...

  7. js未分类

    jQuery设置透明 1.直接.fadeIn 淡入 .fadeOut 淡出 .fadeTo(时间,"透明度") 2.addClass只能控制淡入和淡出,不能控制其速度. filte ...

  8. 在Ubuntu系统上搭建Hadoop 2.x(2.6.2)

    官方的中文版的Hadoop快速入门教程已经是很老的版本了,新版的Hadoop目录结构发生了变化,因此一些配置文件的位置也略微调整了,例如新版的hadoop中找不到快速入门中提到的conf目录,另外,网 ...

  9. Hierarchical query-层次查询之START WITH CONNECT BY用法

    Hierarchical query-层次查询中start with...connect by prior子句用法: connect by 是结构化查询中用到的,其基本语法是:  select ... ...

  10. Jaspersoft Studio 导出PDF格式中文不显示

    1:设置字体 2:应用上面设置的字体