加入收藏 | 设为首页 | 会员中心 | 我要投稿 晋中站长网 (https://www.0354zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 交互 > 正文

史上最全Java面试题整理(附参考答案)

发布时间:2020-12-24 11:32:57 所属栏目:交互 来源:网络整理
导读:下列面试题都是在网上收集的,本人抱着学习的态度找了下参考答案,有不足的地方还请指正,更多精彩内容可以关注我的微信公众号:Java团长 1、面向对象的特征有哪些方面? 抽象:将同类对象的共同特征提取出来构造类。 继承:基于基类创建新类。 封装:将数据

答: Blob是指二进制大对象(Binary Large Object),而Clob是指大字符对象(Character Large Objec),因此其中Blob是为存储大的二进制数据而设计的,而Clob是为存储大的文本数据而设计的。JDBC的PreparedStatement和ResultSet都提供了相应的方法来支持Blob和Clob操作。下面的代码展示了如何使用JDBC操作LOB:
下面以MySQL数据库为例,创建一个张有三个字段的用户表,包括编号(id)、姓名(name)和照片(photo),建表语句如下:

下面的Java代码向数据库中插入一条记录:

<span class="hljs-function"&gt;<span class="hljs-keyword"&gt;public <span class="hljs-keyword"&gt;static <span class="hljs-keyword"&gt;void <span class="hljs-title"&gt;main<span class="hljs-params"&gt;(String[] args) {
    Connection con = <span class="hljs-keyword"&gt;null;
    <span class="hljs-keyword"&gt;try {
        <span class="hljs-comment"&gt;// 1. 加载驱动(Java6以上版本可以省略)
        Class.forName(<span class="hljs-string"&gt;"com.mysql.jdbc.Driver");
        <span class="hljs-comment"&gt;// 2. 建立连接
        con = DriverManager.getConnection(<span class="hljs-string"&gt;"jdbc:mysql://localhost:3306/test",<span class="hljs-string"&gt;"root",<span class="hljs-string"&gt;"123456");
        <span class="hljs-comment"&gt;// 3. 创建语句对象
        PreparedStatement ps = con.prepareStatement(<span class="hljs-string"&gt;"insert into tb_user values (default,?)");
        ps.setString(<span class="hljs-number"&gt;1,<span class="hljs-string"&gt;"郭靖");              <span class="hljs-comment"&gt;// 将SQL语句中第一个占位符换成字符串
        <span class="hljs-keyword"&gt;try (InputStream in = <span class="hljs-keyword"&gt;new FileInputStream(<span class="hljs-string"&gt;"test.jpg")) {    <span class="hljs-comment"&gt;// Java 7的TWR
            ps.setBinaryStream(<span class="hljs-number"&gt;2,in);      <span class="hljs-comment"&gt;// 将SQL语句中第二个占位符换成二进制流
            <span class="hljs-comment"&gt;// 4. 发出SQL语句获得受影响行数
            System.out.println(ps.executeUpdate() == <span class="hljs-number"&gt;1 ? <span class="hljs-string"&gt;"插入成功" : <span class="hljs-string"&gt;"插入失败");
        } <span class="hljs-keyword"&gt;catch(IOException e) {
            System.out.println(<span class="hljs-string"&gt;"读取照片失败!");
        }
    } <span class="hljs-keyword"&gt;catch (ClassNotFoundException | SQLException e) {     <span class="hljs-comment"&gt;// Java 7的多异常捕获
        e.printStackTrace();
    } <span class="hljs-keyword"&gt;finally { <span class="hljs-comment"&gt;// 释放外部资源的代码都应当放在finally中保证其能够得到执行
        <span class="hljs-keyword"&gt;try {
            <span class="hljs-keyword"&gt;if(con != <span class="hljs-keyword"&gt;null &amp;&amp; !con.isClosed()) {
                con.close();    <span class="hljs-comment"&gt;// 5. 释放数据库连接 
                con = <span class="hljs-keyword"&gt;null;     <span class="hljs-comment"&gt;// 指示垃圾回收器可以回收该对象
            }
        } <span class="hljs-keyword"&gt;catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

(编辑:晋中站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读