A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

[报到] 成都校区

© s1712179621 初级黑马   /  2018-5-16 11:27  /  836 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


1.1 案例一:使用JDBC完成CRUD的操作:1.1.1 需求:
对分类管理使用JDBC进行CRUD的操作.
1.1.2 分析:1.1.2.1 技术分析:
【JDBC的概述】
Ø JDBC:Java DataBase Connectivity Java数据库的连接.
* 是SUN公司统一提供的一套接口规范(JDBC).各个数据库生产商提供实现.
Ø 驱动:两个硬件设备之间通信的桥梁.
【JDBC的开发步骤】
Ø 注册驱动:
Ø 获得连接:
Ø 获得执行SQL语句对象:
Ø 释放资源:
1.1.2.2 步骤分析:
【步骤一】:创建一个Java项目.
【步骤二】:引入mysql的驱动包.
【步骤三】:编写代码.
【步骤四】:完成CRUD的操作:
1.1.3 代码实现:
[AppleScript] 纯文本查看 复制代码
工具类的抽取:
public class JDBCUtils {

/**
* 注册驱动的方法
*/
public static void loadDriver(){
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
/**
* 获得连接的方法
*/
public static Connection getConnection(){
Connection conn = null;
try {
loadDriver();
conn = DriverManager.getConnection("jdbc:mysql:///web_07", "root", "123");
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
/**
* 释放资源的方法
*/
public static void release(ResultSet rs,Statement stmt,Connection conn){
if (rs != null) {
        try {
            rs.close();
        } catch (SQLException e) {
                e.printStackTrace();
        }
        // 垃圾回收尽快回收对象.
        rs = null;
    }
if (stmt != null) {
        try {
                stmt.close();
        } catch (SQLException e) {
                e.printStackTrace();
        }
        // 垃圾回收尽快回收对象.
        stmt = null;
    }
if (conn != null) {
        try {
                conn.close();
        } catch (SQLException e) {
                e.printStackTrace();
        }
        // 垃圾回收尽快回收对象.
        conn = null;
    }
}
public static void release(Statement stmt,Connection conn){
if (stmt != null) {
        try {
                stmt.close();
        } catch (SQLException e) {
                e.printStackTrace();
        }
        // 垃圾回收尽快回收对象.
        stmt = null;
    }
if (conn != null) {
        try {
                conn.close();
        } catch (SQLException e) {
                e.printStackTrace();
        }
        // 垃圾回收尽快回收对象.
        conn = null;
    }
}
}

带有属性文件的工具类的抽取:
[AppleScript] 纯文本查看 复制代码
定义了一个属性文件:
public class JDBCUtils {
private static final String driverClass;
private static final String url;
private static final String username;
private static final String password;

static {
Properties properties = null;
// 读取属性文件:使用Java中Properties的对象.
try{
InputStream is = new FileInputStream("src/jdbc.properties");
properties = new Properties();
properties.load(is);
}catch(Exception e){
e.printStackTrace();
}
driverClass = properties.getProperty("driverClass");
url = properties.getProperty("url");
username = properties.getProperty("username");
password = properties.getProperty("password");
}
/**
* 注册驱动的方法
*/
public static void loadDriver(){
try {
Class.forName(driverClass);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
/**
* 获得连接的方法
*/
public static Connection getConnection(){
Connection conn = null;
try {
loadDriver();
conn = DriverManager.getConnection(url, username, password);
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
/**
* 释放资源的方法
*/
public static void release(ResultSet rs,Statement stmt,Connection conn){
if (rs != null) {
        try {
            rs.close();
        } catch (SQLException e) {
                e.printStackTrace();
        }
        // 垃圾回收尽快回收对象.
        rs = null;
    }
if (stmt != null) {
        try {
                stmt.close();
        } catch (SQLException e) {
                e.printStackTrace();
        }
        // 垃圾回收尽快回收对象.
        stmt = null;
    }
if (conn != null) {
        try {
                conn.close();
        } catch (SQLException e) {
                e.printStackTrace();
        }
        // 垃圾回收尽快回收对象.
        conn = null;
    }
}
public static void release(Statement stmt,Connection conn){
if (stmt != null) {
        try {
                stmt.close();
        } catch (SQLException e) {
                e.printStackTrace();
        }
        // 垃圾回收尽快回收对象.
        stmt = null;
    }
if (conn != null) {
        try {
                conn.close();
        } catch (SQLException e) {
                e.printStackTrace();
        }
        // 垃圾回收尽快回收对象.
        conn = null;
    }
}
}

参见JDBCDemo2类:
1.1.4 总结:1.1.4.1 JDBC的API:
【Connection】
Ø 创建执行SQL的对象:
图片1.png
图片2.png
图片3.png
Ø 进行事务管理:
图片4.png
图片5.png
图片6.png
【Statement】
Ø 执行SQL语句:
图片7.png
图片8.png
图片9.png
Ø 执行批处理:
图片10.png
图片11.png
图片12.png
【ResultSet】
Ø 获得结果集中的数据:
* getXXX(int idx);
     * select cname,cid from category;
* getXXX(String name);      
Ø 默认情况下:next();
* 正常的情况下结果集只能向下的.
JavaWeb01-HTML篇笔记(一)
JavaWeb01-HTML篇笔记(二)
JavaWeb01-HTML篇笔记(三)
JavaWeb01-HTML篇笔记(四)
JavaWeb01-HTML篇笔记(五)
JavaWeb02-HTML篇笔记(一)
JavaWeb02-HTML篇笔记(二)
JavaWeb02-HTML篇笔记(三)
JavaWeb03-HTML篇笔记(一)
JavaWeb03-HTML篇笔记(二)
JavaWeb03-HTML篇笔记(三)
JavaWeb03-HTML篇笔记(四)
JavaWeb03-HTML篇笔记(五)
JavaWeb03-HTML篇笔记(六)
JavaWeb03-HTML篇笔记(七)
JavaWeb04-HTML篇笔记(一)
JavaWeb04-HTML篇笔记(二)
JavaWeb04-HTML篇笔记(三)
JavaWeb04-HTML篇笔记(四)
JavaWeb04-HTML篇笔记(五)
JavaWeb05-HTML篇笔记(一)
JavaWeb05-HTML篇笔记(二)
JavaWeb05-HTML篇笔记(三)
JavaWeb06-HTML篇笔记(一)
JavaWeb06-HTML篇笔记(二)
JavaWeb07-HTML篇笔记(一)


回帖

验证码
回帖

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马