JDBC连接MySQL 方法(封装方法,把增删改查操作封装在函数中)
来源:互联网 发布:mac如何往u盘拷贝 编辑:程序博客网 时间:2024/05/11 15:17
package com.wanyifei.bean;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import java.sql.SQLException;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class ConnectionDB { /** * 数据库驱动类名称 */ private static final String DRIVER = "com.mysql.jdbc.Driver"; /** * 连接字符串 */ private static final String URLSTR = "jdbc:mysql://localhost:3306/BookStore"; /** * 用户名 */ private static final String USERNAME = "root"; /** * 密码 */ private static final String USERPASSWORD = "mysql"; /** * 创建数据库连接类 */ private Connection connnection = null; private PreparedStatement preparedStatement = null; /** * 创建结果集对象 */ private ResultSet resultSet = null; static { try { // 加载数据库驱动程序 Class.forName(DRIVER); } catch (ClassNotFoundException e) { System.out.println("加载驱动错误"); System.out.println(e.getMessage()); } } /** * 建立数据库连接 * * @return */ public Connection getConnection() { try { // 获取连接 connnection = DriverManager.getConnection(URLSTR, USERNAME, USERPASSWORD); } catch (SQLException e) { System.out.println(e.getMessage()); } return connnection; } public int executeUpdate(String sql, Object[] params) { int affectedLine = 0; try { connnection = this.getConnection(); preparedStatement = connnection.prepareStatement(sql); for (int i = 0; i < params.length; i++) { preparedStatement.setObject(i + 1, params[i]); } affectedLine = preparedStatement.executeUpdate(); } catch (SQLException e) { System.out.println(e.getMessage()); } finally { closeAll(); } return affectedLine; } /** * 查询语句 * @param sql SQL语句 * @param params SQL语句 * @return List结果集 */ private ResultSet executeQueryRS(String sql, Object[] params) { try { connnection = this.getConnection(); preparedStatement = connnection.prepareStatement(sql); for (int i = 0; i < params.length; i++) { preparedStatement.setObject(i + 1, params[i]); } resultSet = preparedStatement.executeQuery(); } catch (SQLException e) { System.out.println(e.getMessage()); } return resultSet; } /** * 获取结果集,并将结果放在List中 * @param sql SQL语句 * @return List结果集 */ public List<Object> excuteQuery(String sql, Object[] params) { ResultSet rs = executeQueryRS(sql,params); ResultSetMetaData rsmd = null; int columnCount = 0; try { rsmd = rs.getMetaData(); columnCount = rsmd.getColumnCount(); } catch (SQLException e1) { System.out.println(e1.getMessage()); } List<Object> list = new ArrayList<Object>(); try { while(rs.next()) { Map<String, Object> map = new HashMap<String, Object>(); for(int i = 1; i <= columnCount; i++) { map.put(rsmd.getColumnLabel(i), rs.getObject(i)); } list.add(map); } } catch (SQLException e) { System.out.println(e.getMessage()); } finally { closeAll(); } return list; } /** * 撤销链接 */ private void closeAll() { if (resultSet != null) { try { resultSet.close(); } catch (SQLException e) { System.out.println(e.getMessage()); } } if (preparedStatement != null) { try { preparedStatement.close(); } catch (SQLException e) { System.out.println(e.getMessage()); } } if (connnection != null) { try { connnection.close(); } catch (SQLException e) { System.out.println(e.getMessage()); } } } public static void main(String[] args) { String[] params={"wanyifei"}; ConnectionDB connDB = new ConnectionDB(); List<Object> list = connDB.excuteQuery("SELECT * FROM User_Information where username= ?", params); for(int i=0;i<list.size();i++) { System.out.println(list.get(i)); } connDB.closeAll(); } }
0 0
- JDBC连接MySQL 方法(封装方法,把增删改查操作封装在函数中)
- jdbc封装mySQL数据库增删改查
- 封装LDAP 增删改查 方法
- JDBC连接与增删查改的封装
- 怎样在JAVA 中封装数据库操作(增删改查)运用反射机制!已贴出删除和查询方法,求增加和修改!
- JDBC:利用反射封装增删改查操作
- JDBC封装增删改查,增加后返回主键等方法
- java增删改查JDBC封装类
- Jdbc封装的增删查改
- Jdbc封装的增删查改
- android封装好的方法写增删改查
- php增删改查等常用方法封装
- hibernate基于泛型基础增删改查方法封装
- dao层各种增删改查封装成对象方法 以student表 操作
- java jdbc连接mysql数据库实现增删改查操作
- mysql增删改查的封装
- JDBC连接Mysql(连接、增删查改)
- 封装的JDBC添、删、改、查方法
- Android实现XML解析技术
- C#显示与隐藏系统任务栏和开始菜单栏
- hadoop setCombinerClass Combiner Reduce
- 以前那么好,现在还做数么
- 双链表实现的消息队列,可支持优先级读取
- JDBC连接MySQL 方法(封装方法,把增删改查操作封装在函数中)
- Toon shading basic
- 使用excel批量合并子文件内容到一个文件内
- CSS换行:word-wrap、word-break和text-wrap区别
- Android 成功 使用GPS获取当前地理位置(解决getLastKnownLocation 返回 null)
- Ext列表展现--普通排序sortable--全局排序remoteSort(EXTJS 全局排序问题)
- html:select 标签 form 提交,action取不到值
- oracle分区表的建立方法(包含已经存在的表要分区)
- easyui datagrid 获取行号