JDBC连接数据库使用配置文件实现连接查询功能

JDBC连接数据库使用配置文件实现连接查询功能

JDBC编程六步

  1. 注册驱动
  2. 获取连接对象(最后要关闭资源)
  3. 获取数据库操作对象,专门执行相应的sql语句的对象
  4. 执行SQL语句
  5. 处理查询结果集(DQL有这一步,DML语句不需要)
  6. 关闭资源

测试

配置文件

  • driver=com.mysql.jdbc.Driver
    url=jdbc:mysql://localhost:3306/mybase
    user=root
    password=3333
    sql=select empno,ename,sal from emp
    

执行此查询语句输出应为

  • select empno,ename,sal from emp;
    +-------+--------+---------+
    | empno | ename  | sal     |
    +-------+--------+---------+
    |  7369 | SMITH  |  800.00 |
    |  7499 | ALLEN  | 1600.00 |
    |  7521 | WARD   | 1250.00 |
    |  7566 | JONES  | 2975.00 |
    |  7654 | MARTIN | 1250.00 |
    |  7698 | BLAKE  | 2850.00 |
    |  7782 | CLARK  | 2450.00 |
    |  7788 | SCOTT  | 3000.00 |
    |  7839 | KING   | 5000.00 |
    |  7844 | TURNER | 1500.00 |
    |  7876 | ADAMS  | 1100.00 |
    |  7900 | JAMES  |  950.00 |
    |  7902 | FORD   | 3000.00 |
    |  7934 | MILLER | 1300.00 |
    +-------+--------+---------+
    

测试程序

  • /*
    处理查询结果集
    (遍历结果集)
    */
    import java.sql.*;
    import java.util.*;
    
    public class JDBCTest06{
           
    	public static void main(String[] args){
           
    		//配置文件
    		ResourceBundle bundle = ResourceBundle.getBundle("JDBCTest06");
    		String driver = bundle.getString("driver");
    		String url = bundle.getString("url");
    		String user = bundle.getString("user");
    		String password = bundle.getString("password");
    		String sql = bundle.getString("sql");
    		Connection conn = null;
    		Statement stmt = null;
    		//查询结果集
    		ResultSet res = null;
    		try {
           
    		//1、注册驱动
    		Class.forName(driver);
    		//2、获取连接
    		conn = DriverManager.getConnection(url,user,password);
    		//3、获取数据库操作对象
    		stmt = conn.createStatement();
    		//4、执行sql语句
    		res = stmt.executeQuery(sql);//专门执行DQL语句的方法
    		//5、处理查询结果集
    		while (res.next()){
           
    			String empno = res.getString("empno");
    			//String empno = res.getString(1);
    			String ename = res.getString("ename");
    			//String ename = res.getString(2);
    			String sal = res.getString("sal");
    			//String sal = res.getString(3);
    			System.out.println(empno + "," + ename + "," + sal);
    		}
    		}catch(SQLException e){
           
    			e.printStackTrace();
    		}catch(ClassNotFoundException e){
           
    			e.printStackTrace();
    		}finally{
           
    			//6、关闭资源
    			if(res != null){
           
    				try{
           
    					res.close();
    				}catch(SQLException e){
           
    					e.printStackTrace();
    					}
    			}
    			if(stmt != null){
           
    				try{
           
    					stmt.close();
    				}catch(SQLException e){
           
    					e.printStackTrace();
    					}
    			}
    			if(conn != null){
           
    				try{
           
    					conn.close();
    				}catch(SQLException e){
           
    					e.printStackTrace();
    					}
    			}
    		}	
    	}
    }
    

输出

  • 7369,SMITH,800.00
    7499,ALLEN,1600.00
    7521,WARD,1250.00
    7566,JONES,2975.00
    7654,MARTIN,1250.00
    7698,BLAKE,2850.00
    7782,CLARK,2450.00
    7788,SCOTT,3000.00
    7839,KING,5000.00
    7844,TURNER,1500.00
    7876,ADAMS,1100.00
    7900,JAMES,950.00
    7902,FORD,3000.00
    7934,MILLER,1300.00
    

结论

  • 可以看出结果是一致的
  • 只需在配置文件中更改相应的查询语句,就能实现连接查询

总结

  • JDBC中所有下标从1开始,不是从零开始
  • 处理结果集的getxxx()方法,传入的下标从1开始
  • 也可以出入查询表的字段名,这样程序更具有健壮性
  • 可以返回多种类型的值
  • 当要对返回的表进行运算时,可以返回指定类型的数据,并对其进行接收

以上若有错误,欢迎批评指正!
本人是正在自学java的小白,刚刚建立了个人博客,欢迎光顾!
网住:我的个人博客欢迎点击
https://equinoxes.gitee.io/

你可能感兴趣的:(数据库,jdbc,sql,mysql,java)