java JDBC通用BaseDao升级版0.2

原创 2016年04月01日 12:57:10

,此次升级为了解决链接数据库时每次都要传用户名和密码的烦恼,添加了…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

版权声明:本文为博主原创文章,未经博主允许不得转载。

做个JDBC访问MySQL的通用BaseDao

import java.sql.Connection; import java.sql.DriverManager; import java.sql.ParameterMetaData; import...
  • nlcold
  • nlcold
  • 2016年10月03日 20:08
  • 1907

spring JdbcTemplate实现通用的泛型dao一:主功能实现

http://www.dexcoder.com/selfly/article/429 在项目中一直使用Mybaits,最近想自己搞个小项目,通过对比之后发现mybatis的优势并不是十分明显...
  • chuang123
  • chuang123
  • 2016年12月19日 11:28
  • 1356

通过泛型实现持久层 BaseDao 的写法

通过泛型实现持久层 BaseDao 的写法问题说明:我们在编写 Dao 层的时候,总会遇到通用的增删改查方法,每一次都要写声明和实现是一件很繁琐的事情,而且代码有很多事相同点。于是我们想到了使用面向对...
  • lw_power
  • lw_power
  • 2016年05月06日 17:46
  • 2677

JAVA JDBC通用BaseDao版0.1

使用jdbc连接数据库,当做查询时返回ResultSet,此时的不能关闭连接对象不然在取ResultSet时就是null的,所有要想把连接对象关闭必须把ResultSet转成集合。“ package...
  • xy_focus
  • xy_focus
  • 2016年04月01日 12:54
  • 473

JDBC封装类升级版,支持DBCP、C3P0连接池,Java连接数据库带例子

  • 2017年04月06日 13:45
  • 6.01MB
  • 下载

通用数据水平层级选择控件v0.70升级版使其支持jQuery v1.9.1

升级原因:作者原来脚本支持的jquery版本太低了,查找了下资料,使得它能支持最新版本的jquery备注说明:脚本代码源作者跟源文出处很难找,只能在此特感谢他的分享。更新部分:1、新版本不再支持$.b...
  • xqf222
  • xqf222
  • 2014年04月17日 00:32
  • 2355

JDBC数据库常用操作封装(升级版)

  • 2008年12月08日 20:23
  • 1.58MB
  • 下载

通用数据库备份还原---升级版

  • 2011年08月07日 19:01
  • 1.16MB
  • 下载

通用的客服代码插件(升级版)

  • 2014年04月26日 22:48
  • 19KB
  • 下载

做个JDBC访问MySQL的通用BaseDao

import java.sql.Connection; import java.sql.DriverManager; import java.sql.ParameterMetaData; import...
  • nlcold
  • nlcold
  • 2016年10月03日 20:08
  • 1907
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java JDBC通用BaseDao升级版0.2
举报原因:
原因补充:

(最多只允许输入30个字)