java JDBC通用BaseDao升级版0.2
来源:互联网 发布:金融大数据.pdf 编辑:程序博客网 时间:2024/05/22 04:36
,此次升级为了解决链接数据库时每次都要传用户名和密码的烦恼,添加了…obj表示数组和变量。(JDK1.5增加功能)
package com.sun.dao;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.Map;public class BaseDao { final String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"; private String ip="localhost"; private String databaseName; private String user="sa"; private String password="123456"; /** * 用于构建连接数据库 * @param ip * 数据库地址 * @param databaseName * 数据库的库名 * @param user * 数据库登陆用户名 * @param password * 数据库密码 */ public BaseDao(String ip, String databaseName, String user, String password) { super(); this.ip = ip; this.databaseName = databaseName; this.user = user; this.password = password; } /** * 这个构造用于连接本机的数据库 * @param databaseName :数据库名 */ public BaseDao(String databaseName) { super(); this.databaseName = databaseName; } /** * 用于创建连接对象 * @return * Connection * @throws SQLException */ private Connection createConnection() throws SQLException{ return DriverManager.getConnection("jdbc:sqlserver://"+ip+":1433;database="+databaseName,user,password); } /** * 此方法只能用于查询 * @param sql * :查询sql语句 * @param obj * :SQL语句给值 * @return :list: * 在list 里面装的MAP:在map中放的是一行表数据 */ public ArrayList<Map<String, Object>> excuteQuery(String sql,Object ...obj) { Connection con=null; PreparedStatement ps=null; ResultSet rs=null; try{ Class.forName(driver); con=createConnection(); ps=con.prepareStatement(sql); if(obj!=null&& obj.length>0) { for (int i = 0; i < obj.length; i++) { ps.setObject(i+1, obj[i]); } } rs=ps.executeQuery(); ArrayList<Map<String, Object>> list=ResultSetToList.resultSetToList(rs); if(list.size()>0) { return list; }else{ return null; } }catch(Exception e){ e.printStackTrace(); return null; }finally{ try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } try { ps.close(); } catch (SQLException e) { e.printStackTrace(); } try { con.close(); } catch (SQLException e) { e.printStackTrace(); } } } /** * 此方法只能执行增删改 * @param sql * :查询sql语句 * @param obj * :SQL语句给值 * @return * 真假: */ public boolean excuteUpdate(String sql,Object ...obj) { Connection con=null; PreparedStatement ps=null; try{ Class.forName(driver); con=createConnection(); ps=con.prepareStatement(sql); if(obj!=null&& obj.length>0) { for (int i = 0; i < obj.length; i++) { ps.setObject(i+1, obj[i]); } } int a=ps.executeUpdate(); if(a>0) { return true; }else{ return false; } }catch(Exception e){ e.printStackTrace(); return false; }finally{ try { ps.close(); } catch (SQLException e) { e.printStackTrace(); } try { con.close(); } catch (SQLException e) { e.printStackTrace(); } } }}``
package com.sun.dao;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
public class ResultSetToList {
public static ArrayList
0 0
- java JDBC通用BaseDao升级版0.2
- java JDBC通用BaseDao升级版0.3
- JAVA JDBC通用BaseDao版0.1
- java通用basedao
- JDBC BaseDao.java
- Jdbc BaseDao
- jdbc BaseDao
- jdbc basedao
- 做个JDBC访问MySQL的通用BaseDao
- JAVA OOP 第八章JDBC练习+Basedao
- java反射机制运用到BaseDao等通用基类
- Hibernate 通用 baseDao
- 通用BaseDao设计
- 打造Hibernate通用BaseDAO
- java JDBC通用dao
- BaseDao.java
- BaseDAO.java
- BaseDao.java
- 【笔记】 《js权威指南》- 第3章 类型、值和变量 - 3.10 变量作用域
- C++实验2-模拟银行
- Linux _sem 信号量 V_P
- nmap小测
- [C#]自定义消息收发
- java JDBC通用BaseDao升级版0.2
- select 获取选择项自定义属性
- 快排
- 数据结构之链表全部
- 10分钟-jQuery过滤选择器
- Linux _sem 信号量 V_P
- 20 个顶尖的 Python 机器学习开源项目
- c++作业2
- 【matlab】:matlab视频处理