文档章节

javaJDBC学习总结

刘春辉
 刘春辉
发布于 2015/03/11 18:15
字数 549
阅读 477
收藏 16

JDBC编程步骤:

前提:去下载mysql对应的驱动jar包,加载到项目文件中.

1.加载驱动程序

  加载mysql驱动(数据库是mysql)

Class.forName("com.mysql.jdbc.Driver");

2.获得数据库连接

private static final String URL = "jdbc:mysql://127.0.0.1:3306/myhome";  //数据库url
private static final String USER = "root";  // 数据库用户名
private static final String PASSWORD = "0000";  // 数据库密码
private static Connection conn = null;  

// 建立一个到指定数据库的连接,并返回一个Connection对象
conn = DriverManager.getConnection(URL, USER, PASSWORD);

3.创建Statement对象

// 创建一个Statement对象,用以执行不带参数的SQL查询和更新
Statement stmt = conn.createStatement();

4.从数据库中查找数据

ResultSet rs = stmt.executeQuery("SELECT article_title, " + 
"article_context from article where id = " + id);  
// executeQuery()的参数是sql语句,查询结果返回给结果集合rs中去

if (!rs.next()) {  // 判断从数据库中收否取出数据
    return null;
}

// 获取第一条数据
Article article = new Article();
article.setId(id);
article.setTitle(rs.getString("article_title"));   
// rs对象的getString方法是查询表中对应字段的名称,返回的是记录相应字段的内容
article.setContext(rs.getString("article_context"));

// 现在,已从数据库中取出一条数据,并且付给Article对象

5.向数据库中添加数据

Statement stmt = conn.createStatement();

Article article = new Article("title","content", new Date());
// ?相当于占位符,再给这些参数赋值,当真正执行时参数会加载到sql语句中,
// sql语句拼写完整才执行,这样减少对数据库的操作
String sql = "insert into article " + 
"(article_title,article_context,article_date) " + "values (?,?,?)";
// preparedStatement方法将sql加载到驱动程序的执行程序中,但并不直接执行
// 当调用execute方法时,才真正执行
PreparedStatement ptmp = conn.prepareStatement(sql);
// 把数据加载到sql语句中
ptmp.setString(1,article.getTitle());
ptmp.setString(2,article.getContext());
// 在Article中date是util包下的,在下面的setDate中,需要的date参数是sql下的
ptmp.setDate(3,new Date(article.getDate().getTime()));
// 执行
ptmp.execute();
6.关闭

使用完ResultSet,Statement或Connection对象后,应立即调用close方法,这些对象都使用了规模较大的数据结构和数据库存服务器上的有限资源.

在javaSE 7时,可以在Statement上调用closeOnCompletion方法,在其所有结果集都被关闭后,该语句会立即自动关闭.

© 著作权归作者所有

刘春辉
粉丝 4
博文 18
码字总数 5952
作品 0
淄博
程序员
私信 提问
《Yaf零基础学习总结》系列技术文章整理收藏

《Yaf零基础学习总结》系列技术文章整理收藏 1关于Yaf的一些说明[转Yaf作者] 2Yaf零基础学习总结1-Yaf框架简介 3Yaf零基础学习总结2-Yaf框架的安装 4Yaf零基础学习总结3-Hello Yaf 5Yaf零基础...

开元中国2015
2015/05/30
266
1
PHP正则分段问题求救

用正则分段 字符串: 一、个人总结 个人总结: 1.学习 学习。。。 2.工作 工作。。。 二、生活总结 生活目录: 1.情感1 情感内容。。。 2.情感2 情感2。。。 如题上面字符串,想把他分段存入...

xixilvlv
2014/04/17
180
2
如何高效学习-斯科特杨 读书总结

如何高效学习-斯科特杨 读书总结 以下内容为如何高效学习书籍内容总结: 书籍简介 一位因为快速学习而成名的神奇小子,他应用自己发明的学习方法,完成了10天搞定线性代数,1年学习4年MIT课程...

wwlcsdn000
2017/11/20
0
0
初学者如何学习运维?

老男孩教育老男孩老师总结了初学者学好运维的几个办法,希望能帮到大家。 ①先实践后看原理 很多初学者思维的误区是先了解原理在去实践 很多有经验的运维给初学者的建议是先把原理看懂,在去...

运维自动化
2017/05/22
0
0
学习方法之漫谈(疑,思,学,省,悟,行,乐)

一直在思考,学习本身是一件很有乐趣的事情,到底是什么让学习失去了乐趣。我们很小的时候学习走路,我们摔倒了很多次,但我们依然很开心地去学习大人们走路,摔倒了,我们站起来,接着学。也...

zhanglianpin
2014/12/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

前端技术之:Prisma Demo服务部署过程记录

安装前提条件: 1、已经安装了docker运行环境 2、以下命令执行记录发生在MackBook环境 3、已经安装了PostgreSQL(我使用的是11版本) 4、Node开发运行环境可以正常工作 首先需要通过Node包管...

popgis
今天
5
0
数组和链表

数组 链表 技巧一:掌握链表,想轻松写出正确的链表代码,需要理解指针获引用的含义: 对指针的理解,记住下面的这句话就可以了: 将某个变量赋值给指针,实际上就是将这个变量的地址赋值给指...

code-ortaerc
今天
4
0
栈-链式(c/c++实现)

上次说“栈是在线性表演变而来的,线性表很自由,想往哪里插数据就往哪里插数据,想删哪数据就删哪数据...。但给线性表一些限制呢,就没那么自由了,把线性表的三边封起来就变成了栈,栈只能...

白客C
今天
43
0
Mybatis Plus service

/** * @author beth * @data 2019-10-20 23:34 */@RunWith(SpringRunner.class)@SpringBootTestpublic class ServiceTest { @Autowired private IUserInfoService iUserInfoS......

一个yuanbeth
今天
5
0
php7-internal 7 zval的操作

## 7.7 zval的操作 扩展中经常会用到各种类型的zval,PHP提供了很多宏用于不同类型zval的操作,尽管我们也可以自己操作zval,但这并不是一个好习惯,因为zval有很多其它用途的标识,如果自己...

冻结not
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部