JAVA学习笔记 -- JDBC及其应用

SQLServer数据库操作与连接详解
本文详细介绍了如何在Eclipse环境下使用SQLServer数据库,包括安装必要的JDBC驱动、配置数据库连接信息、执行数据库操作(如增删改查)及事务处理等关键步骤。同时,演示了如何将数据库连接信息保存至properties文件并使用getProperty()方法获取,以及预查询的实现。

一个、准备工作

1、开放SQL Server服务与支持TCP/IP  进一步确认TCPport


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();

版权声明:本文博客原创文章。博客,未经同意,不得转载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值