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的标准接口,数据库厂商则对接口进行操作, ...
随机推荐
- Windows Phone开发(9):关于页面状态
原文:Windows Phone开发(9):关于页面状态 按照一般做法,刚学会如何导航,还是不够的,因为要知道,手机里面的每个页面,就如同Web页面一样,是无状态的. 啥是无状态?如果我们玩过Web开 ...
- 【Java基础】异常的简单分类与处理
Java中所有的异常都继承自Throwable类,Throwable类的已知子类有Error和Exception. Error是指系统出现的错误,这种错误出现的时候,我们的程序无能为力,所以不需要进行 ...
- kindeditor-网页文字编辑
实例下载地址:http://download.csdn.net/download/l294333475/7941759 <!DOCTYPE html PUBLIC "-//W3C//D ...
- C. Captain Marmot (Codeforces Round #271)
C. Captain Marmot time limit per test 1 second memory limit per test 256 megabytes input standard in ...
- 打开 chm 帮助文件显示空白及解决方法
有个很奇葩的解决方法:把 chm 文件用压缩软件压缩,然后用压缩软打开此压缩包,直接双击压缩包里面的 chm 文件 这虽然解决了问题,但是这不科学…… 分析:直接打开压缩包里面的文件,压缩包的文件是临 ...
- C# WinForm多线程(一)Thread类库
Windows是一个多任务的系统,如果你使用的是windows 2000及其以上版本,你可以通过任务管理器查看当前系统运行的程序和进程.什么是进程呢?当一个程序开始运行时,它就是一个进程,进程所指包括 ...
- Java正则表达式例子汇总
1.过滤特殊字符 package com.sheepmu.text; /* * @author sheepmu */ public class HWCompetition { public stati ...
- 如何与多个线程的操作epoll fd
自己曾经做一个接口server时候,这样的场景下我的设计是多个线程操作同一个epoll fd.彼时,我的理由是epoll的系列函数是线程安全的. 当然有人不理解为什么会有多个线程操作同一个epoll ...
- uitableView 选择跳过后, 跳回 颜色变化 问题
今天遇到这个问题 谁也因此没有满足这方面的需求 今天会见 网上办理登机手续 未找到 好 我只能说自己的问题 但 幸好,kai哥 就攻克了 ! 就是在- (void)tableView:(UITabl ...
- LeetCode :: Validate Binary Search Tree[具体分析]
Assume a BST is defined as follows: The left subtree of a node contains only nodes with keys less th ...