javaWeb购物商城设计---数据库连接

数据库采用的是sql server数据库,连接数据库用到的方法写进一个类connDB当中(类放在com.tools当中),每次需要访问数据库时,实例化这个类,并调用它封装的方法。数据库是已经在sql server创建好的db_shop
成员变量:

public Connection conn = null; // 数据库连接对象
    public Statement stmt = null; // statement对象,用于执行Sql语句
    public ResultSet rs = null; // 结果对象集
    // 驱动类的类名
    private static String dbClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
    private static String dbUrl = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=db_shop";
    private static String dbUser = "sa"; // 登录sql的用户名
    private static String dbPwd = "****"; // 登录sql的密码

创建连接

/*
     * 创建与数据库的连接
     */
    public static Connection getConnection() {
        Connection conn = null;
        try {
            Class.forName(dbClassName).newInstance(); // 装在数据库驱动
            // 获取数据库连接对象
            conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);
        } catch (Exception e) {
            e.printStackTrace();
        }
        if (conn == null) {
            System.err.println("DbConnectionManger.getConnection():" + dbClassName + "\r\n" + dbUrl + "\r\n" + dbUser
                    + "/" + dbPwd);
        } else {
            System.out.println("数据库连接成功");
        }
        return conn;
    }

更新数据

/*
     * 更新数据功能
     */
    public int executeUpdate(String sql) {
        int result = 0; // 更新数据的记录条数
        try {
            conn = getConnection(); // 获取数据库连接
            // 创建用于执行SQL语句的statement对象
            stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
            result = stmt.executeUpdate(sql);
        } catch (SQLException e) {
            // TODO: handle exception
            result = 0;
            e.printStackTrace(); // 输出异常信息
        }
        try {
            stmt.close();
        } catch (SQLException e) {
            // TODO: handle exception
            e.printStackTrace();
        }
        return result;
    }

查询数据

/*
     * 根据指定的sql语句查询数据
     */
    public ResultSet executeQuery(String sql) {
        try {
            conn = getConnection(); // 获取数据库连接
            // 创建用于执行SQL语句的statement对象
            stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
            rs = stmt.executeQuery(sql); // 执行SQL语句
        } catch (SQLException e) {
            // TODO: handle exception
            e.printStackTrace();
        }
        return rs;
    }

关闭数据库连接

/*
     * 关闭数据库
     */
    public void close() {
        try {
            if (rs != null) {
                rs.close();
            }
            if (stmt != null) {
                stmt.close();
            }
            if (conn != null) {
                conn.close();
            }
        } catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace(System.err);
        }
    }

测试一下

写好之后,需要将sql server的jdbc连接jar包导入,这里用到sqljdbc42.jar,然后写一个junit测试方法单独试一下

@Test
    public void test() {
        if (getConnection() != null) {
            System.out.println("测试连接成功");
        }
    }
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值