Java JDBC编程套路教程
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5847020.html
学习Java开发,一个必须掌握的知识点,就是数据库操作。当程序需要用到的数据达到一定程度时,就不能简单地用本地文件来储存了,而是借助数据库。
目前,用的最多的数据库有MySql,Oracle等,Java编程中连接、使用不同数据库的操作都是大同小异的,这里以MySql数据库为例。
JDBC编程其实不难,有一个固定的使用套路:
1) 加载 Driver 驱动:Class.forName("com.mysql.jdbc.Driver");
2) 创建数据库连接对象,登录到数据库: Connection conn=DriverManager.getConnection("jdbc:mysql://...(地址,端口),"数据库用户名","数据库密码");
3) 创建一个可向数据库发送 SQL 命令并返回结果的传送对象:Statement statement=conn.createStatement();
4) 创建SQL命令并执行:String sql="sql命令语句"; statement.executeUpdate(sql);resultset=statement.executeQuery(sql);
5) 如果是执行查询类命令,会有结果集返回,处理结果集获取每一条记录的具体属性的具体数据:
while(resultset.next()){int/double/String a=resultset.getInt/Double/String("属性名");}
注意:结果集是一个表,第一行是属性名,第二行开始才是具体的数据,所以首先要通过resultset.next()把游标移动到第二行,看有没有数据,有则进行提取。
6)关闭结果集:resultset.close();
7) 关闭对应的 Statement 对象:statement.close();
8) 关闭连接对象 Connection:conn.close();
应用到代码实例:
public String doLogin(String code_input,int password_input)
{
Connection conn=null;
Statement stmt=null;
ResultSet rs=null; try{
Class.forName("com.mysql.jdbc.Driver"); conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/bank","root","123456");
stmt=conn.createStatement(); String sql="select * from account where code = '"+code_input+"' and password = "+password_input;
rs=stmt.executeQuery(sql); if(rs.next())
{
return code_input;
}else{
return "-1";
} }catch(Exception ex)
{
ex.printStackTrace();
return "-1";
}finally
{
if(rs!=null)
{
try{
rs.close();
}catch(Exception ex)
{
ex.printStackTrace();
}
}
if(stmt!=null)
{
try{
stmt.close();
}catch(Exception ex)
{
ex.printStackTrace();
}
}
if(conn!=null)
{
try{
conn.close();
}catch(Exception ex)
{
ex.printStackTrace();
}
}
} }
Java JDBC编程套路教程的更多相关文章
- Java网络编程简明教程
Java网络编程简明教程 网络编程 计算机网络相关概念 计算机网络是两台或更多的计算机组成的网络,同一网络内的任意两台计算机可以直接通信,所有计算机必须遵循同一种网络协议. 互联网 互联网是连接计算 ...
- 【Java】JDBC编程套路
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5847020.html 学习Java开发,一个必须掌握的知识点,就是数据库操作.当程序需要用到的数据达到一定程度 ...
- 小菜鸟之java JDBC编程
JDBC技术 百度简介 : JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一 ...
- java JDBC编程流程步骤
JDBC:Java Data Base Connection JDBC是用于运行sql语句并从数据库中获取新新的java API. JDBC是用来(让我们的程序)通过网络来操作数据库的,作用非常重要: ...
- java网络编程小白教程
1 网络编程 1.1 网络 把多台终端(计算机)通过物理线路连接起来,形成网络.便于交换数据.共享信息.组成更强大的逻辑体. 1.1.1 网络通信三要素 [1]IP地址:唯一标识网络上的每一台计算机 ...
- Java JDBC下执行SQL的不同方式、参数化预编译防御
相关学习资料 http://zh.wikipedia.org/wiki/Java数据库连接 http://lavasoft.blog.51cto.com/62575/20588 http://blog ...
- Java基础教程:JDBC编程
Java基础教程:JDBC编程 1.什么是JDBC JDBC 指 Java 数据库连接,是一种标准Java应用编程接口( JAVA API),用来连接 Java 编程语言和广泛的数据库. JDBC A ...
- JAVA基础知识之JDBC——编程步骤及执行SQL
JDBC编程步骤 下面以mysql数据库为例, 1.加载驱动 首先需要下载数据库的驱动jar文件,并且在eclipse包中加入到class path中去, 例如mysql的驱动文件 mysql-con ...
- 学习笔记(三)--->《Java 8编程官方参考教程(第9版).pdf》:第十章到十二章学习笔记
回到顶部 注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.若有违本之,则本人不负法律责任.违法 ...
随机推荐
- 梅尔罗斯百度云在线观看迅雷下载Patrick Melrose磁力BT下载
原名:Patrick Melrose 地区:英国 语言:英语 首播:2018-05-12(美国) 电视台:Showtime 类型:剧情 别名:浮生若梦 编剧:大卫·尼克尔森 导演:爱德华·贝尔格 主演 ...
- Android手机提示“未安装应用程序”
用eclipse调试应用时,遇到了这个问题,网上给出的解决方案倒是挺多,但似乎一个都没奏效,而且我手机也重启了,还是有问题,郁闷ing- 然后看到一篇文章指出,可能不是签名和SD的卡问题,而是我们 ...
- iTunes Connect开发者指南中的一个疑问
iTunes Connect Developer Guide 避免app版本出现在iClound中,我的疑问是对已经上架的版本不能设置,那么这个功能的真正意义在哪里? 大部分用户去应用页面下载 ...
- PHP开发微信被动回复消息遇到的大坑
最近开始做CMS后台与微信公众号的整合,在做被动回复消息时,按照官方文档的XML格式回复消息,总是提示"该公众号提供的服务出现故障,请稍后再试".但是通过微信提供的接口调试工具看我 ...
- Visual Studio 2013 智能提示功能消失解决办法
Visual Studio 2013中,智能提示功能突然用不了,查了一下,使用命令行重置VS的方法解决了这个问题.步骤如下: 开始菜单 -->所有程序-->Visual Studio 20 ...
- SQL Server跨服务器查询的实现方法,OpenDataSource
SQL Server跨服务器查询的方法我们经常需要用到,下面就为您介绍两种SQL Server跨服务器查询的方法,如果您感兴趣的话,不妨一看. SQL Server跨服务器查询方法一:用OPENDAT ...
- iOS測试——置换測试: Mock, Stub 和其它
文章地址:http://ryantang.me/blog/2014/08/21/test-doubles/
- 一些NLP相关的JD,作参考
NLP 应用研发工程师 - AI Lab工作城市: 上海岗位描述:1.用户搜索意图识别,分词和词性标注,实体词标注 2.利用机器学习.NLP 技术优化文本分类.语义理解及信息抽取岗位要求:1.有自然语 ...
- [leetcode]Maximum Subarray @ Python
原题地址:https://oj.leetcode.com/problems/maximum-subarray/ 题意: Find the contiguous subarray within an a ...
- CSS- 横向和纵向时间轴
时间轴在展示公司发展信息,服务流程中用的比较多,常见的注册登录有的是通过引导,一步一步的来完成,上面会通过时间轴告诉用户当前在哪一步,公司在关于我们或者发展流程的时候也特别喜欢用时间轴来展示,简单的实 ...