使用jdbc操作sql server数据库
2016-05-05 14:32
218 查看
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.sql.Statement; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @Description:sqlserver操作工具 * @author: * @time:2016年5月4日 下午6:44:33 */ public class SqlServerDBHelper { private static Connection conn = null; // 获得连接对象 public static Connection getConn() { String sDriverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; String sDBUrl = "jdbc:sqlserver://127.0.0.1:1433;databaseName=smsdb"; String userName = "root"; // 默认用户名 String userPwd = "[ 6Liu.aDS]@!#51I"; // 密码 try { Class.forName(sDriverName); conn = DriverManager.getConnection(sDBUrl, userName, userPwd); } catch (ClassNotFoundException e) { throw new RuntimeException(e); } catch (SQLException e) { throw new RuntimeException(e); } return conn; } // 关闭连接 public static void closeConn(Statement statement) { try { statement.close(); statement = null; conn.close(); conn = null; } catch (Exception e) { e.printStackTrace(); conn = null; } } // 获得查询结果集 public static List<Map<String, Object>> queryList(String sql, Object[] params) { getConn(); PreparedStatement ps = null; List<Map<String, Object>> resultList = null; try { ps = conn.prepareStatement(sql); if (params != null) { for (int i = 0; i < params.length; i++) { ps.setObject(i + 1, params[i]); } } resultList = resultSetConvertList(ps.executeQuery()); } catch (SQLException e) { throw new RuntimeException(e); } closeConn(ps); return resultList; } // 用于对表的增删改操作 public static int update(String sql, Object[] params) { getConn(); PreparedStatement ps = null; int updateResult = 0; try { ps = conn.prepareStatement(sql); if (params != null) { for (int i = 0; i < params.length; i++) { ps.setObject(i + 1, params[i]); } } updateResult = ps.executeUpdate(); } catch (SQLException e) { throw new RuntimeException(e); } closeConn(ps); return updateResult; } // ResultSet转换成List<Map<String, Object>> private static List<Map<String, Object>> resultSetConvertList(ResultSet resultSet) throws SQLException { List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); ResultSetMetaData rmd = resultSet.getMetaData(); int columnCount = rmd.getColumnCount(); while (resultSet.next()) { Map<String, Object> rowData = new HashMap<String, Object>(); for (int i = 1; i <= columnCount; i++) { rowData.put(rmd.getColumnName(i), resultSet.getObject(i)); } list.add(rowData); } return list; } }
以上是代码,另外还需要依赖sqljdbc4.jar驱动包哦
相关文章推荐
- 利用redis完成自动补全搜索功能(一)
- 数据库分区,范围分区列表分区
- sqlserver2005 导出包含数据的脚本
- mysql: 三个范式
- Redis----windows下的常用命令
- 测试mysql的innodb引擎的锁表
- Redis初识:1.安装
- Oracle 11g笔记——归档
- 安装MySQL的心得
- VirtualBox 5.0.20发布下载!
- 忘记mysql密码操作
- 获取mysql的当前插入的id
- MySQL的IF函数
- navicat使用跳板机连接数据库-ssh
- oracle 响应时间分析 (一)
- SQL 获取查询IO信息
- mysql 导出数据库部分字段或部分数据
- 根据出生日期计算年龄的sql各种数据库写法
- MYSQL必知必会读书笔记第十和十一章之使用函数处理数据
- WEB开发的套路——非直连数据库下的数据访问