时间:2015-06-29 来源:

新手学JAVA(八)----走进JDBC 【综合】

什么是JDBC 为什么要用JDBC 怎么用JDBC

建立与数据库或其他数据源的连接 向数据库发送SQL命令 处理数据库的返回结果 下面通过一个例子来演示Java数据库一个用程序反问数据库的全过程.

import java.sql.*; //导入包 import java.sql.Connection; import java.sql.DriverManager; public class JDBCMain { // 数据库的链接 private Connection con = null; private Statement st = null; // 执行SQL语句的对象 private ResultSet rs = null; // 结果集对象 public JDBCMain() { // 桥连接 try { // 声明驱动程序 String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; // users就是数据源的名称 String ds = "jdbc:sqlserver://localhost:1433;databaseName=JavaSpecial"; // 数据源的登录名 String user = "sa"; // 数据源的密码 String password = "123456"; // 链接数据库 Class.forName(driver); // 加载数据库的驱动程序 con = DriverManager.getConnection(ds, password); if (con != null) { System.out.println("数据库链接成功!"); } } catch (Exception e) { System.out.println("数据库连接失败!" + e.toString()); } } /** * 普通查询 * @param sqlQuery */ public void query(String sqlQuery) { try { // Connection con = null; Statement st = con.createStatement(); // 得到Statement的实例 ResultSet rs = st.executeQuery(sqlQuery); // 执行SQL语句,html切图返回结果集 // 当返回的结果集不为空是,jpg或psd转html并且还有记录时 while (rs != null && rs.next()) { int stu_num = rs.getInt(1); // 获得当前记录的第1个字段的值 String name = rs.getString("name"); // 获得当前记录中"name"字段的值 int age = rs.getInt("age"); // 获得当前记录中"age"字段的值 int math = rs.getInt("math"); // 获得当前记录中"math"字段的值 int english = rs.getInt("english"); // 获得当前记录中"english"字段的值 System.out.println("学号=" + stu_num + "\t 姓名=" + name + "\t 年龄=" + age + "\t 数学成绩=" + math + "\t 英语成绩=" + english); } } catch (Exception e) { // 抛出异常 System.out.println("查询数据时出错" + e.toString()); } } /** * /添加,网页切图价格删除,手机前端外包更新 */ public void add_update_Del(String sql) { try { Statement st = con.createStatement(); // 生成Statement对象 int x = st.executeUpdate(sql); // 执行操作 System.out.println("操作成功" + x); } catch (Exception e) { System.out.println("数据修改时有误" + e.toString()); } } // 主程序 public static void main(String[] args) { JDBCMain jc = new JDBCMain(); // 查询 String name = "张三"; String sqlQuery = "select * from stu_info where name='" + name + "'"; jc.query(sqlQuery); //添加 String sqlAdd ="insert into stu_info values(7,17,84)"; jc.add_update_Del(sqlAdd); //更改 String sqlUpdate ="update stu_info set math =95 where name ='张三'"; jc.add_update_Del(sqlUpdate); //删除 String sqlDelete ="delete from stu_info where name='张三'"; jc.add_update_Del(sqlDelete); } } 下面是源代码下载的链接:JDBC数据库连接测试

有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事,符合w3c标准换言之网页外包接活,就不必为方位MySQL数据库专门写一个程序web前端制作,为访问Oracle数据库又专门写一个程序,div+css制作或为访问SQLServer数据库又编写另一个程序承接网页制作,等等,承接网页制作程序员只需用JDBC API 写一个程序就够了web切图报价,它可想相应的数据库发送SQL调用,web切图报价同时将JAVA语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序符合w3c标准, Java 数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问.简单地说,网页外包接活JDBC 可做三件事:与数据库建立连接、发送 SQL 语句并处理结果.

为什么要用JDBC? 在没有JDBC之前web前端制作,应用程序可以通过数据库厂商提供的API及SQL语句对数据库进行操作,手机前端外包如下图:

$(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

点击次数:4092
作者:
web前端行业资讯
Web new NewsList
谷歌发布Tacotron2:能更简单地训练AI学习演讲 ,,2017年12月21日TensorFlow漏洞爆发背后:关于AI安全我们的傻与天真 ,,2017年12月21日Android端Edge浏览器新版发布:常规性能优化和BUG修复 ,,2017年12月21日三星开发出全球最小的DRAM芯片技术领先优势扩大 ,,2017年12月21日腾讯绝艺AI下一步将学习AlphaGozero自对弈训练 ,,2017年12月21日Facebook社交VR应用Spaces扩大覆盖面:入驻HTCVive ,,2017年12月21日设计图曝光:三星双屏折叠手机原来是这样的 ,,2017年12月21日微信支付和支付宝已成为世界移动支付的"老师" ,,2017年12月21日新专利表明FaceID未来有望装备在iPad、MacBook和iMac等设备 ,,2017年12月21日首批九个建议加入EE4J的项目 ,,2017年12月21日这就是SurfacePhone?微软可折叠手机概念图曝光 ,,2017年12月21日继“Angel”开源后,腾讯又开放TDinsight机器学习平台 ,,2017年12月21日谷歌母公司研发“闪光”网络技术无需铺设线缆 ,,2017年12月21日微软投资5千万美元利用人工智能对抗气候变化 ,,2017年12月21日谷歌中国2017:面向开发者的1年AI先行的1年 ,,2017年12月21日GreenKey加入Symphony软件基金会,将开源语音软件 ,,2017年12月21日腾讯发现者揭秘:怎么应对TensorFlow的安全风险,修复有多难 ,,2017年12月21日清华新成立两大交叉研究机构探索智能与未来 ,,2017年12月21日微软将AI融入生产力工具和搜索引擎与其它巨头竞争 ,,2017年12月21日Gfycat将利用机器学习技术创建高分辨率GIF动图 ,,2017年12月21日安全软件公司Avast开源化机器码反编译器RetDec ,,2017年12月21日谷歌开源TFGAN,让训练和评估GAN变得更加简单 ,,2017年12月21日社区对模块化不感兴趣时隔三周经典版FedoraServer27发布 ,,2017年12月21日Windows10加入OpenSSH客户端 ,,2017年12月21日FirefoxQuantum发布一个月安装量1.7亿 ,,2017年12月21日吴恩达宣布创业新项目已与富士康达成战略合作 ,,2017年12月21日Scala入门系列(十二):隐式转换2017年12月20日speedment入门教程2017年12月20日SLAM入门笔记(1):特征点的匹配2017年12月20日深入浅出了解frame和bounds2017年12月20日二叉排序树(概念,查找,插入,删除) 【综合】2015年05月11日sqlserver【互联网】2014年11月06日Android中Activity切换时共享视图元素的切换动画(4.x兼容方案) 【Web前端】2015年07月31日c++编译时遇到的错误总结(不定期更新,遇到问题就写在这里面)【移动开发】2015年03月27日VS中引用第三方库的方法(配置sqlite数据库)【编程语言】2015年01月04日error:couldnotopen...jvm.cfg解决方法【架构设计】2015年03月24日ubuntu首次给root用户设置密码 【编程语言】2015年07月03日遗传算法解决3SAT问题(C++实现代码) 【系统运维】2015年07月17日com.mongodb.MongoException$CursorNotFound:cursornotfoundonserver异常处理【编程语言】2015年06月18日32.Linux-2440下的DMA驱动(详解)2017年11月22日JAVA中几种常用的RPC框架介绍 【综合】2015年05月05日【LeetCode】LetterCombinationsofaPhoneNumber 【移动开发】2015年04月08日android开发关于BroadCastReceiver 【编程语言】2014年12月23日Mongoosev4.5.5发布,让node.js更优雅的操作MongoDB ,,2016年07月24日数据结构基础(7)--循环队列的设计与实现 【编程语言】2015年01月04日【最短路】LightOJ1099-NottheBest第二短路【编程语言】2014年12月03日Android中插件开发篇之----应用换肤原理解析【综合】2015年08月17日6.7处理列表【数据库】2014年11月18日RecyclerView的2种监听方式 【Web前端】2015年07月01日【Oracle篇】Oracle初试水 【研发管理】2015年06月17日AndroidOpenGLES(八)----纹理编程框架 【编程语言】2015年06月29日androidViewPager学习笔记1 【编程语言】2014年11月27日hdu1080HumanGeneFunctions【综合】2015年07月24日HDU2523 【移动开发】2015年01月04日【SICP练习】122练习3.53 【编程语言】2015年03月30日CodeforcesRound#279(Div.2)F.TreelandTour(lis+dfs)【云计算】2014年11月27日DuiVision开发教程(4)-使用zip资源2015年05月18日马云:80后有权利但没有资格抱怨 ,,2016年06月23日Ubuntu编码问题 【编程语言】2014年11月06日PHP正则(2) 【编程语言】2015年03月19日
我们保证
We guarantee
> psd效果文件手工切图,保证图片效果最好体积最小利于传输
> 100%手写的HTML(DIV+CSS)编码,绝对符合W3C标准
> 代码精简、css沉余量小、搜索引擎扫描迅速,网页打开快捷
> 应用Css Sprite能够减少HTTP请求数,提高网页性能
> 跨浏览器兼容(IE6、7、8、9,Firefox火狐,Chrome谷歌)