一个、准备工作
1、开放SQL Server服务与支持TCP/IP 进一步确认TCPport
2、Eclipse下给项目导入sqljdbc4.jar包
将下载好的 sqljdbc_4.0.2206.100_chs.exe执行解压。然后在 .Microsoft JDBC Driver 4.0 for SQL Serversqljdbc_4.0chsauth 路径下选择合适版本号的sqljdbc_auth.dll。 将其放在 C:WindowsSystem32下。
给项目导入包:右键你的项目选择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();
版权声明:本文博客原创文章。博客,未经同意,不得转载。