项目中连接数据库的工具类
在项目有时会用到不同数据库,项目写了一个连接不同数据库(包括mysql,SQL server, oracle ,access)的工具类: import java.io.File;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.ResultSetMet
在项目有时会用到不同数据库,项目写了一个连接不同数据库(包括mysql,SQL server, oracle ,access)的工具类:
import java.io.File; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class ConnectionDbUtils { /** * 获取数据库连接对象(sql server) * * @param server * 服务器 * @param database * 数据库名 * @param user_id * 用户名 * @param password * 密码 * @return Connection * @throws ClassNotFoundException * @throws SQLException */ public static Connection getSqlServerConnection(String server, String database, String user_id, String password) throws ClassNotFoundException, SQLException { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); Connection con = DriverManager.getConnection("jdbc:sqlserver://" + server + ":1433;DatabaseName=" + database, user_id, password); return con; } /** * 获取数据库连接对象(MySql) * * @param server * 服务器 * @param database * 数据库名 * @param user_id * 用户名 * @param password * 密码 * @return Connection * @throws ClassNotFoundException * @throws SQLException */ public static Connection getMySqlConnection(String server, String database, String user_id, String password) throws ClassNotFoundException, SQLException { Class.forName("com.mysql.jdbc.Driver"); return DriverManager.getConnection("jdbc:mysql://"+server+":3306/" + database, user_id, password); } /** * JDBC连接oracle * @param server IP * @param database 数据库 * @param user_id 用户名 * @param password 密码 * @param sql * @return * @throws ClassNotFoundException * @throws SQLException */ public static Connection getOracleConnection(String server, String database, String user_id, String password) throws ClassNotFoundException, SQLException { Class.forName("oracle.jdbc.driver.OracleDriver"); Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@" + server + ":1521:" + database, user_id, password); return conn; } /** * JDBC连接Access * @param database 数据库路径 * @param user_id 用户名 * @param password 密码 * @param sql * @return * @throws ClassNotFoundException * @throws SQLException * @throws IllegalAccessException * @throws InstantiationException */ public static Connection getAccessConnection(String database, String user_id, String password) throws ClassNotFoundException, SQLException, InstantiationException, IllegalAccessException { System.out.println("==============" + database); Class.forName("com.hxtt.sql.access.AccessDriver").newInstance(); Connection conn = DriverManager.getConnection("jdbc:Access:///" + database, user_id, password); System.out.println("连接成功"); return conn; } /** * Access 查询数据 * @param database * @param user_id * @param password * @param strSql * @return * @throws Exception */ public static List<Map<String, Object>> queryAccessData(String database, String user_id, String password, String strSql) throws Exception { File file = new File(database); if (file.exists()){ if (file.canWrite()) { System.out.println("不只读"); } else { System.out.println("只读"); file.setWritable(true); } } else { System.out.println("不存在"); } Connection con = ConnectionDbUtils.getAccessConnection(database, user_id, password); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(strSql); List<Map<String, Object>> listMap = new ArrayList<Map<String, Object>>(); while (rs.next()) { Map<String, Object> map = new HashMap<String, Object>(); ResultSetMetaData rsmd = rs.getMetaData(); for (int i = 1; i <= rsmd.getColumnCount(); i++) { String columnName = rsmd.getColumnName(i); Object objValue = rs.getObject(columnName); map.put(columnName, objValue); } listMap.add(map); } return listMap; } /** * Access增删改 * @param database * @param user_id * @param password * @param sql */ public static void createAccessSQLExecute(String database, String user_id, String password, String sql) { Statement stmt = null; try { Connection con = ConnectionDbUtils.getAccessConnection(database, user_id, password); stmt = con.createStatement(); int i = stmt.executeUpdate(sql); System.out.println("执行sql语句:" + sql); System.out.println("处理成功!处理条数为" + i); } catch (Exception e) { e.printStackTrace(); System.out.println("执行失败,请检查远程数据库是否打开服务"); } finally { try { if (null != stmt) { stmt.close(); } } catch (SQLException e) { e.printStackTrace(); } } } /** * oracle 查询数据 * @param server * @param database * @param user_id * @param password * @param strSql * @return * @throws Exception */ public static List<Map<String, Object>> queryOracleData(String server, String database, String user_id, String password, String strSql) throws Exception { Connection con = ConnectionDbUtils.getOracleConnection(server, database, user_id, password); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(strSql); List<Map<String, Object>> listMap = new ArrayList<Map<String, Object>>(); while (rs.next()) { Map<String, Object> map = new HashMap<String, Object>(); ResultSetMetaData rsmd = rs.getMetaData(); for (int i = 1; i <= rsmd.getColumnCount(); i++) { String columnName = rsmd.getColumnName(i); Object objValue = rs.getObject(columnName); map.put(columnName, objValue); } listMap.add(map); } return listMap; } /** * oracle增删改 * @param server * @param database * @param user_id * @param password * @param sql */ public static void createOracleSQLExecute(String server, String database, String user_id, String password, String sql) { Statement stmt = null; try { Connection con = ConnectionDbUtils.getOracleConnection(server, database, user_id, password); stmt = con.createStatement(); System.out.println("执行sql语句:" + sql); int i = stmt.executeUpdate(sql); System.out.println("处理成功!处理条数为" + i); } catch (Exception e) { e.printStackTrace(); System.out.println("执行失败,请检查远程数据库是否打开服务"); } finally { try { if (null != stmt) { stmt.close(); } } catch (SQLException e) { e.printStackTrace(); } } } /** * 查询数据(sql server) * * @param server 服务器 * @param database 数据库名 * @param user_id 用户名 * @param password 密码 * @param strSql sql语句 * @return List<Map<String,Object>> * @throws Exception */ public static List<Map<String, Object>> querySqlServerData(String server, String database, String user_id, String password, String strSql) throws Exception { Connection con = ConnectionDbUtils.getSqlServerConnection(server, database, user_id, password); Statement stmt = con.createStatement(); System.out.println("querySqlServerData的sql语句===========" + strSql); ResultSet rs = stmt.executeQuery(strSql); List<Map<String, Object>> listMap = new ArrayList<Map<String, Object>>(); while (rs.next()) { Map<String, Object> map = new HashMap<String, Object>(); ResultSetMetaData rsmd = rs.getMetaData(); for (int i = 1; i <= rsmd.getColumnCount(); i++) { String columnName = rsmd.getColumnName(i); Object objValue = rs.getObject(columnName); map.put(columnName, objValue); } listMap.add(map); } return listMap; } /** * 执行sql的添加、修改、删除操作 * * @param conn * @param sql */ public static void createSQLExecute(String server, String database, String user_id, String password, List<String> sql) { Statement stmt = null; try { Connection con = ConnectionDbUtils.getSqlServerConnection(server, database, user_id, password); stmt = con.createStatement(); for (String s : sql) { System.out.println("执行sql语句:" + sql); int i = stmt.executeUpdate(s); System.out.println("处理成功!处理条数为" + i); } } catch (Exception e) { e.printStackTrace(); System.out.println("执行失败,请检查远程数据库是否打开服务"); } finally { try { if (null != stmt) { stmt.close(); } } catch (SQLException e) { e.printStackTrace(); } } } /** * 执行sql的添加、修改、删除操作 * * @param conn * @param sql */ public static void createSQLExecute(String server, String database, String user_id, String password, String sql) { Statement stmt = null; try { System.out.println("执行sql语句:" + sql); Connection con = ConnectionDbUtils.getSqlServerConnection(server, database, user_id, password); stmt = con.createStatement(); int i = stmt.executeUpdate(sql); System.out.println("处理成功!处理条数为" + i); } catch (Exception e) { e.printStackTrace(); System.out.println("执行失败,请检查远程数据库是否打开服务"); } finally { try { if (null != stmt) { stmt.close(); } } catch (SQLException e) { e.printStackTrace(); } } } /** * MySql 查询数据 * @param server * @param database * @param user_id * @param password * @param strSql * @return * @throws Exception */ public static List<Map<String, Object>> queryMySqlData(String server, String database, String user_id, String password, String sql) throws Exception { Connection con = ConnectionDbUtils.getMySqlConnection(server, database, user_id, password); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(sql); List<Map<String, Object>> listMap = new ArrayList<Map<String, Object>>(); while (rs.next()) { Map<String, Object> map = new HashMap<String, Object>(); ResultSetMetaData rsmd = rs.getMetaData(); for (int i = 1; i <= rsmd.getColumnCount(); i++) { String columnName = rsmd.getColumnName(i); Object objValue = rs.getObject(columnName); map.put(columnName, objValue); } listMap.add(map); } return listMap; } /** * 执行MySql的增删改 * @param server * @param database * @param user_id * @param password * @param sql */ public static void createMySqlExecute(String server,String database,String user_id,String password,String sql){ Connection con=null; Statement stmt = null; try { System.out.println("执行sql语句:" + sql); con= ConnectionDbUtils.getMySqlConnection(server, database, user_id, password); stmt = con.createStatement(); int successCount = stmt.executeUpdate(sql); System.out.println("处理成功!处理条数为" + successCount); } catch (Exception e) { e.printStackTrace(); System.out.println("执行失败,请检查远程数据库是否打开服务"); } finally { try { if (null != stmt) { stmt.close(); } } catch (SQLException e) { e.printStackTrace(); } } } }

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Envoyant des données JSON à l'aide de la bibliothèque Curl de PHP dans le développement de PHP, il est souvent nécessaire d'interagir avec les API externes. L'une des façons courantes consiste à utiliser la bibliothèque Curl pour envoyer le post� ...

De nombreux développeurs de sites Web sont confrontés au problème de l'intégration de Node.js ou des services Python sous l'architecture de lampe: la lampe existante (Linux Apache MySQL PHP) a besoin d'un site Web ...

Configurez la tâche de synchronisation APScheduler en tant que service sur la plate-forme MacOS, si vous souhaitez configurer la tâche de synchronisation APScheduler en tant que service, similaire à Ngin ...

Cet article décrit comment construire une base de données MongoDB hautement disponible sur un système Debian. Nous explorerons plusieurs façons de garantir que la sécurité des données et les services continueront de fonctionner. Stratégie clé: réplicaset: réplicaset: Utilisez des répliques pour obtenir la redondance des données et le basculement automatique. Lorsqu'un nœud maître échoue, l'ensemble de répliques élise automatiquement un nouveau nœud maître pour assurer la disponibilité continue du service. Sauvegarde et récupération des données: utilisez régulièrement la commande Mongodump pour sauvegarder la base de données et formuler des stratégies de récupération efficaces pour faire face au risque de perte de données. Surveillance et alarmes: déploier les outils de surveillance (tels que Prometheus, Grafana) pour surveiller l'état de course de MongoDB en temps réel, et

Utilisation alternative des annotations des paramètres Python Dans la programmation Python, les annotations des paramètres sont une fonction très utile qui peut aider les développeurs à mieux comprendre et utiliser les fonctions ...

En ce qui concerne le problème de la suppression de l'interpréteur Python qui est livré avec des systèmes Linux, de nombreuses distributions Linux préinstalleront l'interpréteur Python lors de l'installation, et il n'utilise pas le gestionnaire de packages ...

Cet article présente une variété de méthodes et d'outils pour surveiller les bases de données PostgreSQL sous le système Debian, vous aidant à saisir pleinement la surveillance des performances de la base de données. 1. Utilisez PostgreSQL pour reprendre la surveillance Afficher PostgreSQL lui-même offre plusieurs vues pour surveiller les activités de la base de données: PG_STAT_ACTIVITY: affiche les activités de la base de données en temps réel, y compris les connexions, les requêtes, les transactions et autres informations. PG_STAT_REPLIcation: surveille l'état de réplication, en particulier adapté aux grappes de réplication de flux. PG_STAT_DATABASE: Fournit des statistiques de base de données, telles que la taille de la base de données, les temps de validation / recul des transactions et d'autres indicateurs clés. 2. Utilisez l'outil d'analyse de journaux pgbadg

Comment enseigner les bases de la programmation novice en informatique dans les 10 heures? Si vous n'avez que 10 heures pour enseigner à l'informatique novice des connaissances en programmation, que choisissez-vous d'enseigner ...
