文档章节

jdbc简单小demo

vintNee
 vintNee
发布于 2016/06/03 13:55
字数 253
阅读 5
收藏 0

直接上代码,很简单

import java.sql.*;

public class BlogJdbcDemo {

public static void main(String[] args) {
        try {
                //initDb();

                Blog blog = new Blog();
                blog.setId(2);
                blog.setName("wen");
                insertBlog( blog);
                blog = getBlog(1);
                System.out.println( blog.toString() );
        } catch (Exception e) {
                e.printStackTrace();
        }
        System.exit(0);
}

private static void insertBlog(Blog blog) throws SQLException {
        Connection conn = null;
        PreparedStatement stmt = null;

        try {
                conn = connection();

                stmt = conn.prepareStatement( "INSERT INTO blog VALUES(?, ?)" );
                stmt.setInt( 1, blog.getId() );
                stmt.setString( 2, blog.getName() );
                stmt.executeUpdate();
                stmt.close();

        } catch (Exception e) {
                e.printStackTrace();
        } finally {
                if (stmt != null) {
                        stmt.close();
                }
                if (conn != null) {
                        conn.close();
                }
        }
}

private static Blog getBlog(int id) throws SQLException {
        Connection conn = null;
        PreparedStatement stmt = null;
        ResultSet rs = null;

        try {
                conn = connection();
                stmt = conn.prepareStatement( "SELECT id, name FROM blog WHERE id=?" );
                stmt.setInt( 1, id );
                rs = stmt.executeQuery();
                rs.next();
                Blog blog = new Blog();
                blog.setId(rs.getInt(1));
                blog.setName(rs.getString(2));
                rs.close();
                stmt.close();

                return blog;
        } catch (Exception e) {
                e.printStackTrace();
                return null;
        } finally {
                if (rs != null) {
                        rs.close();
                }
                if (stmt != null) {
                        stmt.close();
                }
                if (conn != null) {
                        conn.close();
                }
        }
}

private static Connection connection() throws SQLException, ClassNotFoundException {
        
        String url = "jdbc:mysql://localhost:3306/test";
        String username = "root";
        String password = "0";

        //Class.forName("org.h2.Driver");
        //Class.forName("com.mysql.jdbc.Driver");
        //Connection conn = DriverManager.getConnection( "jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1;MVCC=TRUE", connectionProps);
        Connection conn = DriverManager.getConnection(url,username,password);
        conn.setAutoCommit( true );
        return conn;
}

//创建数据库
private static void initDb() throws SQLException {
        Connection conn = null;
        PreparedStatement stmt = null;

        try {
                conn = connection();
                stmt = conn.prepareStatement( "CREATE TABLE blog(id INT PRIMARY KEY, name VARCHAR(255)" );
                stmt.executeUpdate();
                stmt.close();
               
        } catch (Exception e) {
                e.printStackTrace();
        } finally {
                if (stmt != null) {
                        stmt.close();
                }
                if (conn != null) {
                        conn.close();
                }
        }
}
}

© 著作权归作者所有

上一篇: hibernate有点意思
下一篇: QuickSort&HeapSort
vintNee
粉丝 20
博文 211
码字总数 60510
作品 0
海淀
后端工程师
私信 提问
聊聊jesque在redis中的数据结构

序 本文主要介绍一下jesque在redis的存储结构 示例配置 启动时的reids对象 namespace:workers set类型的数据接口,存储该namespace下的workers的名称 namespace:worker:host:queueType,list...

go4it
2017/11/18
30
0
ansatsing/QQLandlords

为什么要搞这样一个项目 满足自己的java网络多线程编程的欲望!因为之前一直都是搞web开发,服务器和客户端数据交流人家web服务器早就给你搞好了,比如tomcat,jetty...等等,其实之前脑子里就...

ansatsing
02/15
0
0
轻量级支付整合轻松嵌入任何系统 - pay-java-parent

轻量级支付模块集成(微信支付,友店扫码,支付宝,富友,银联, payoneer皮卡 )支付整合,app,扫码,即时到帐刷卡付条码付、支持多种支付类型多支付账户,支付与业务完全剥离,简单几行代码即可实...

egzosn
2017/02/17
16.4K
18
我的JDBC通用DAO(解说)

前两篇的连接: 1,我的JDBC通用DAO 2,我的JDBC通用DAO(续) 为了方便大家阅读和调试,现在把demo发出来 先介绍一下新增的类 首先是主角登场,业务模型类 @Table(name="model")public class...

高得顺
2013/03/15
3.2K
7
PerfMa给OpenJDK社区提交的第一个Patch

概述 前两天给openjdk gc-dev的email list提交了一个问题,主要是针对Full GC之后,GC日志里Metaspace的大小在GC前后都一直不变的问题,我在邮件里大概也提了下如何修复该问题,以及猜测了下...

你假笨
2018/09/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Rust:最小化窗口后 CPU占用率高 (winit,glutin,imgui-rust)

最近试着用 imgui-rust 绘制界面,发现窗口最小化后CPU占用会增大。 查询的资料如下: https://github.com/rust-windowing/winit/issues/783 https://github.com/ocornut/imgui/issues/1151 ...

reter
27分钟前
8
0
cloud-zuul路由网关

九、zuul路由网关 概述 1.1 能干嘛 路由、过滤 路由基本配置 路由访问映射规则 十、springCloud config分布式配置中心

榴莲黑芝麻糊
27分钟前
12
0
Circuit Breaker模式

Circuit Breaker模式会处理一些需要一定时间来重连远程服务和远端资源的错误。该模式可以提高一个应用的稳定性和弹性。 问题 在类似于云的分布式环境中,当一个应用需要执行一些访问远程资源...

mskk
40分钟前
16
0
写论文之前的准备都有哪些?干货来了!

原文链接:https://www.lwfdy.com/archives/144.html 之前跟大家谈了许多有关于初稿修改以及写作事项需要注意的问题,那么今天我们来说一说,在写之前,我们需要做哪些准备呢,为了做到下笔如...

辅导员
46分钟前
11
0
idea快捷键

Alt + Enter 引入类 Ctrl + O 查看我们继承的类或者接口中的方法,以及我们要实现的方法 Ctrl + Alt + b 查看接口实现类中方法(就是我们使用接口编程时,在调用实现类方法处直接Ctrl+鼠标左...

行者终成事
54分钟前
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部