zoukankan      html  css  js  c++  java
  • JAVA学习笔记 -- JDBC及其应用

    一个、准备工作

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

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

  • 相关阅读:
    剑指Offer_编程题_包含min函数的栈
    剑指Offer_编程题_顺时针打印矩阵
    Docker基础(3) 数据卷
    Docker基础(2) 实践篇
    Docker基础(1) 原理篇
    《算法》笔记 17
    《算法》笔记 16
    《算法》笔记 15
    《算法》笔记 14
    《算法》笔记 13
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4688545.html
Copyright © 2011-2022 走看看