JAVA学习笔记 -- JDBC及其应用
一个、准备工作
1、开放SQL Server服务与支持TCP/IP 进一步确认TCPport
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMjk2NDI4MQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
2、Eclipse下给项目导入sqljdbc4.jar包
将下载好的 sqljdbc_4.0.2206.100_chs.exe执行解压。然后在 .\Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_4.0\chs\auth
路径下选择合适版本号的sqljdbc_auth.dll。 将其放在 C:\Windows\System32下。
给项目导入包:右键你的项目选择Properties。弹出以下窗体,选择Java Build Path
通过右边的一些Add操作导入,选择Add JARs要把sqljdbc4.jar包放在项目文件夹以下。
二、连接数据库(SQL Server)
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL = "jdbc:sqlserver://localhost:1433;DatabaseName=LG";
Class.forName(driverName);//装载这个类
//dbConn = DriverManager.getConnection(dbURL);//Windows身份认证
tring username = "sa";
String password = "xxxx";
dbConn = DriverManager.getConnection(dbURL,username,password);
三、操作数据库
1、ResultSet类对数据库的操作
Statement st = dbConn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,//对数据敏感
ResultSet.CONCUR_UPDATABLE);//可更新
String sql = "select * from student ";
ResultSet result = st.executeQuery(sql);
//更新第1行name字段
result.absolute(1);
result.updateString("name","lg");
result.updateRow();
//插入一条记录
result.moveToInsertRow();
result.updateString(1, "ln");
result.updateString(2, "男");
result.updateInt(3,12);
result.updateInt(4,80);
result.insertRow();
result.moveToInsertRow();
//删除一条记录
result.last();
result.deleteRow();
result.absolute(0);
st.close();//先关闭对话
dbConn.close();//再关闭连接
2、将连接数据库信息保存到driver.properties的文件中,再用一个getProperty()方法获取信息
driver.properties文件:
drivers=com.microsoft.sqlserver.jdbc.SQLServerDriver
url=jdbc:sqlserver://localhost:1433;DatabaseName=LG
user=sa
password=xxxx
注意:文件要放在项目的根文件夹以下,并且=号两边不能有多余空格
getProperty()方法:
public void getProperty() {
Properties prop = new Properties();
try {
FileInputStream in = new FileInputStream("driver.properties");
prop.load(in);
driverName = prop.getProperty("drivers");
url = prop.getProperty("url");
userName = prop.getProperty("user");
passWord = prop.getProperty("password");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
3、事务处理
将数据库自己主动提交设为false。运行一段sql语句。在con.commit();前还能够通过con.rollback();回到未运行sql语句之前的状态。
<pre name="code" class="cpp">con.setAutoCommit(false);
st.executeUpdate(sql);
con.rollback();
con.commit();
con.setAutoCommit(true);
4、预查询
String sql = " select 姓名,学号,专业,籍贯 from student where 姓名 = ?";
PreparedStatement pre = con.prepareStatement(String sql);
pre.setString(1,"张强");
ResultSet re = pre.executeQuery();
版权声明:本文博客原创文章。博客,未经同意,不得转载。
JAVA学习笔记 -- JDBC及其应用的更多相关文章
- Java学习笔记——JDBC读取properties属性文件
Java 中的 properties 文件是一种配置文件,主要用于表达配置信息,文件类型为*.properties,格式为文本文件. 文件的内容是格式是"键=值"(key-valu ...
- Java学习笔记——JDBC之与数据库MySQL的连接以及增删改查等操作
必须的准备工作 一.MySQL的安装.可以参考博文: http://blog.csdn.net/jueblog/article/details/9499245 二.下载 jdbc 驱动.可以从在官网上 ...
- Java学习笔记--JDBC数据库的使用
参考 hu_shengyang的专栏 : http://blog.csdn.net/hu_shengyang/article/details/6290029 一. JDBC API中提供的常用数据库 ...
- Java学习笔记——JDBC之PreparedStatement类中“预编译”的综合应用
预编译 SQL 语句被预编译并存储在 PreparedStatement 对象中.然后可以使用此对象多次高效地执行该语句. 预编译的优点 1.PreparedStatement是预编译的,对于批量处理 ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
- 20145330第九周《Java学习笔记》
20145330第九周<Java学习笔记> 第十六章 整合数据库 JDBC入门 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JD ...
- Java学习笔记4
Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...
- 20155234 2610-2017-2第九周《Java学习笔记》学习总结
20155234第九周<Java学习笔记>学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC(Ja ...
- 20145230《java学习笔记》第九周学习总结
20145230 <Java程序设计>第9周学习总结 教材学习内容 JDBC JDBC简介 JDBC是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商则对接口进行操作, ...
随机推荐
- 发现C++Builder 2010一组类BUG
今天C++Builder 2010写小码,我们用一个集合类.您可以设置操作结果是不正确的,排除其他原因引起的,最后,它应该被设置以确定问题类的源,以下是一个集合类测试代码: enum TTes ...
- JavaScript获取路径
JavaScript获取路径 1.设计源代码 <%@ page language="java" import="java.util.*" pageEnco ...
- Android含文档server结束(client UI接口异步请求的一部分)三
在本文中,AsyncTask为了实现异步请求,详细代码如下所示的: public class downloadActivity extends Activity { private TextView ...
- DM8168 CameraLink 视频噪点问题解决
几天前写过FPGA採集LVDS视频(噪点去除),当时的情况是CameraLink视频出现了非常多噪点,不堪入目,硬件方面没有找到毛病,仅仅能是用硬件描写叙述语言对採集前端的FPGA又一次进行了处理,效 ...
- 十大经典数据挖掘算法(9) 朴素贝叶斯分类器 Naive Bayes
贝叶斯分类器 贝叶斯分类分类原则是一个对象的通过先验概率.贝叶斯后验概率公式后计算,也就是说,该对象属于一类的概率.选择具有最大后验概率的类作为对象的类属.现在更多的研究贝叶斯分类器,有四个,每间:N ...
- jquery处理页面元素
处理父级页面中的元素 $(parent.document).find('#hidSendPerson').val(val);$(parent.document).find('#btnGo').clic ...
- java 线程、线程池基本应用演示样例代码回想
java 线程.线程池基本应用演示样例代码回想 package org.rui.thread; /** * 定义任务 * * @author lenovo * */ public class Lift ...
- hdu1325 Is It A Tree?并检查集合
pid=1325">职务地址 试想一下,在词和话题hdu1272是一样的. 可是hdu1272的博文中我也说了.数据比較水,所以我用非并查集的方法就AC了. 可是这题的数据没那么水,要 ...
- [LeetCode217]Contains Duplicate
题目:Given an array of integers, find if the array contains any duplicates. Your function should retur ...
- 玩转Web之easyui(二)-----easy ui 异步加载生成树节点(Tree),点击树生成tab(选项卡)
关于easy ui 异步加载生成树及点击树生成选项卡,这里直接给出代码,重点部分代码中均有注释 前台: $('#tree').tree({ url: '../servlet/School_Tree?i ...