• jdbc


    连接mysql数据库,并且通过select语句获得结果。
    public static void main(String[] args) throws Exception {
    		Connection conn = null;
    		Statement stmt = null;
    		ResultSet rs = null;
    		try {
    			Class.forName("com.mysql.jdbc.Driver");
    			conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8","", "");
    			stmt = conn.createStatement();
    			rs = stmt.executeQuery("select * from student"); // 其他的用executeUpdate方法。
    			while (rs.next()) {
    				System.out.println(rs.getString("name"));
    			}
    		} catch (SQLException e) {
    			e.printStackTrace();
    		} catch (ClassNotFoundException e) {
    			e.printStackTrace();
    		} finally {
    			try {
    				if (rs != null) {
    					rs.close();
    					rs = null; // 这样写的比较完美,close后把它设为null,是为了让垃圾回收器回收它。
    				}
    				if (stmt != null) {
    					stmt.close();
    					stmt = null;
    				}
    				if (conn != null) {
    					conn.close();
    					conn = null;
    				}
    			} catch (SQLException e) {
    				e.printStackTrace();
    			}
    		}
    	}
    
    两种方式加载驱动
    1、Class.forName("oracle.jdbc.driver.OracleDriver");
    2、new oracle.jdbc.driver.OracleDriver();
    两种方法都可以。这个驱动自动向driverManager注册。
     一般不会用new,因为在这里我们需要的时把oracle.jdbc.driver.OracleDriver类加载到内存中,然后自动向driverManager注册。不需要调用其中的方法,所以没有必要去new出来。
    new出来会在堆内存开空间,对资源是一种浪费。而通过class.forName,不会在堆开空间。
    在JDK1.5之后,其实已经不需要去显式调用Class.forName("com.mysql.jdbc.Driver")了,DriverManager会自动去加载合适的驱动,但是前提是CLASSPATH下必须有驱动jar包
     
     
    连接字符串
    url比如oracle就是jdbc:oracle:thin:@localhost:1521:orcl
    1. Oracle url示例:"jdbc:oracle:thin:@localhost:1521:orcl"
    2. Access url示例:"jdbc:odbc:HANFENG"
    3. SQL Server url示例:"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs"
    4. DB2 url示例:"jdbc:db2://localhost:5000/sample"
    5. Informix url示例:"jdbc:informix-sqli://123.45.67.89:1533/testDB:INFORMIXSERVER=myserver"
    6. Sybase url示例:"jdbc:sybase:Tds:localhost:5007/tsdata"
    7. MySQL url示例:"jdbc:mysql://localhost/softforum?user=soft&password=soft1234& amp;useUnicode=true&characterEncoding=8859_1"
    8. PostgreSQL url示例:"jdbc:postgresql://localhost/soft"
     
    要指明数据库的名字
    执行select语句要用executeQuery(“”),结果保存到ResultSet 中去。
    rs.getString("name")获得name字段里的一条记录,返回一个string
     
    执行结束了要把他们都关掉,写在finally里面。
    PreparedStatement可以灵活指定sql语句中变量的statement
       pstmt = conn.prepareStatement("insert into student values(?,?)");
       pstmt.setString(1, "sdf");
       pstmt.setString(2, "ss");
       pstmt.executeUpdate();
    这样有利于变量类型的控制,用的比较多。
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    你不知道的正则表达式
    浅谈apache网页优化及方法
    Web基础与HTTP协议
    nfs
    Vi编辑器的工作模式
    磁盘管理和磁盘配额
    系统安全及应用
    正则表达式与文本编辑器
    读书笔记_java设计模式深入研究 第三章 工厂模式 Factory
    JavaScript模式读书笔记 第7章 设计模式
  • 原文地址:https://www.cnblogs.com/tp123/p/6402571.html
Copyright © 2020-2023  润新知