java分享第十七天-03(封装操作mysql类)
2024-10-19 03:39:26
JAVA操作mysql
所需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继承覆盖与向上转型,权限
- Android数据库加密之sqlciher方案
- 循环repeater中的每一列,并计算数据和
- c/c++ main函数执行之前/后
- 应用apache FileUtils把网页另存为文件
- newsstand杂志阅读应用源码ipad版
- HDU3709 Balanced Number (数位dp)
- MDF文件数据恢复
- GridControl 选择列、复选框全选(上)
- Windows Phone开发(5):室内装修
- 《Head First Java》读书笔记(1) - Java语言基础
- 失去焦点布局在ios12-微信6.7.0版本以上不回滚的解决方案
- oracle行转列、列转行、连续日期数字实现方式及mybatis下实现方式
- Kubernetes(k8s)1.12.2集群搭建
- openstack 王者归来学习笔记
- JMeter&#160;利用Jmeter批量数据库插入数据
- InetAddress问题
- 深入理解Linux内核-回收页框
- POSIX 消息队列 之 参数说明
- 浅谈C++/JAVA/C#运行机制和执行效率