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的标准接口,数据库厂商则对接口进行操作, ...
随机推荐
- erlang如何有效地监视大量的并发连接
阅读erlang一些开源web框架RabbitMQ.Ranch,他们使用多个进程在同一时间accept一socket.以这样的方式,使socketport监控共享很多其他的机会调度工作,但,在erla ...
- HDU 4360 As long as Binbin loves Sangsang spfa
题意: 给定n个点m条边的无向图 每次必须沿着LOVE走,到终点时必须是完整的LOVE,且至少走出一个LOVE, 问这样情况下最短路是多少,在一样短情况下最多的LOVE个数是多少. 有自环. #inc ...
- 手机APP有三类:原生APP,WebAPP,HybridApp
搭建 AngularJS+Ionic+Cordova 开发环境并运行一个demo 目前的手机APP有三类:原生APP,WebAPP,HybridApp:HybridApp结合了前两类APP各自的优点, ...
- Blend4精选案例图解教程(一):丰富的形状(Shape)资源
原文:Blend4精选案例图解教程(一):丰富的形状(Shape)资源 Blend4资源面板中内置了丰富的形状素材,为我们在构建程序时提供极大的方便.系统默认内置18种常用形状,通过其属性设置可以自定 ...
- cocos2dx 3.2 定义自己使用rapidjson阅读json数据
一.说明 我在这里得到的只是一个简单的定义string和Int种类,其他数据类型可以被替换向上. 两.头文件 class JsonReadUtils { public: static JsonRead ...
- appendChild的用法
appendChild的用法 1,先把元素从原有父级上删除 2,再把元素添加到新父级上
- LeetCode: Distinct Subsequences [115]
[称号] Given a string S and a string T, count the number of distinct subsequences of T in S. A subsequ ...
- redis预切片技术,实现
平时,我们将创建多个redis实例,以缓解单redis压力范例.但,作为高速缓存的数量增加.对redis对于扩展是一种非 - 不要无所谓.对redis有几种方法用于扩张可能.让我们添加每个redis最 ...
- OCP解决问题052-- DROP PROFILE app_user
133.You created a profile APP_USER and assigned it to the users. After a month, you decide to drop t ...
- nyoj 题号12 水厂(两)——南阳oj
标题信息: 喷水装置(二) 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描写叙述 有一块草坪.横向长w,纵向长为h,在它的橫向中心线上不同位置处装有n(n<=1000 ...