java JDBC通用BaseDao升级版0.2
2016-04-01 12:57
375 查看
,此次升级为了解决链接数据库时每次都要传用户名和密码的烦恼,添加了…obj表示数组和变量。(JDK1.5增加功能)
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
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
相关文章推荐
- JAVA JDBC通用BaseDao版0.1
- Openfire4.0.2源码部署到Eclipse
- MAVEN 工程打包resources目录外的更多资源文件
- java中Socket编程
- java集合的讲解
- JAVA·多线程:线程优先级
- springMVC4(2)请求映射全面分析
- 找不到或无法加载主类 com.sun.tools.javac.Main
- [JAVA · 初级]:14.数组
- 解析java中对象的"引用"
- Java处理java.util.ConcurrentModificationException异常
- 【撸码师的备忘录】 Java bean 与 xml 互相转化-JDK Marshaller
- 10分钟-JavaWeb入门-登陆功能实现
- maven中解决javax.servlet.jsp.PageContext cannot be resolved to a type
- sqoop.Sqoop: Got exception running Sqoop: java.lang.IllegalArgumentException: There is no column fou
- java中怎么把原始目录下的文件。复制到另外一个目录中,并且文件名不改掉
- java的守护线程与非守护线程
- Java入门:一些初学者需要掌握的基础算法程序——逆序输出
- Java单链表基本操作(六)--删除重复节点;
- 使用IntelliJ IDEA,gradle开发Java web应用步骤