JDBC连接Oracle数据库步骤

1,数据库建立表(此处省略)

2,将数据库连接的Jar包导入项目的lib包中

JDBC连接Oracle数据库步骤_第1张图片

3,创建编写db.properties配置文件

JDBC连接Oracle数据库步骤_第2张图片

创建文件更改名字保存就可以了,因为我已经创建过,所以报错 

JDBC连接Oracle数据库步骤_第3张图片

将配置代码复制到创建的properties配置文件中

drivername=oracle.jdbc.driver.OracleDriver     //(驱动名,直接复制)
url=jdbc:oracle:thin:@localhost:1521:orcl    //(服务地址名)
username=system   //数据库用户名
password=Oracle12  //数据库密码

4,编写JDBC工具类连接代码


public class JdbcUtil {
	
	//jdbc协议+数据库协议+本机地址+端口+连接的数据库实例名
	public static String url = null;
	//驱动名
	public static String driverName = null;
	//用户名
	public static String userName = null;
	//密码
	public static String password = null;
	
	/*
	 * 	驱动只要加载一次,静态代码块
	 * 
	 * */
	static{
		
		//读取配置文件信息
		//1)创建Properties对象
		Properties prop = new Properties();
		//2)构建输入流
		try {
			InputStream in = new FileInputStream("src/db.properties");
			//3)加载文件
			prop.load(in);
			//4)读取配置信息
			driverName = prop.getProperty("drivername");
			url = prop.getProperty("url");
			userName = prop.getProperty("username");
			password = prop.getProperty("password");
			
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
		//注册驱动程序
		try {
			Class.forName(driverName);
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}

	
	//获取连接对象
	public static Connection getConnection(){
		
		Connection conn = null;
		try {
			conn = DriverManager.getConnection(url, userName, password);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		return conn;
		
	}
	
	//释放资源
	public static void close(Connection conn,Statement stmt,ResultSet rs){
		
		if(rs != null){
			try {
				rs.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		
		if(stmt != null){
			try {
				stmt.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		
		if(conn != null){
			try {
				conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
		}
	}
}

5,编写DAO层接口

/*
 * 	操作 用户表的 dao层接口
 * 
 * 	规范了操作用户表的方法
 * 
 * 
 * */

public interface IUserDao {
	
	/*
	 * 查:通过用户名去查用户数据
	 * 
	 * */
	
	User findUserByName(String name);
	/*
	 * 增:把用户数据添加到数据库中
	 * 
	 * */
	int addUser(User user);
	
	
	
}

6,编写DAO连接数据库执行语句获取结果


public class UserDao implements IUserDao{

	@Override
	public User findUserByName(String name) {
		
		
		Connection conn = null;
		PreparedStatement pstm = null;
		ResultSet rs = null;
		
		String sql = "select * from t_user where u_name = ?";
		User user = null;
		
		try{
			//1)获取连接对象
			conn = JdbcUtil.getConnection();
			//2)预编译sql
			pstm = conn.prepareStatement(sql);
			//3)设置参数
			pstm.setString(1,name);
			//4)发送参数
			rs = pstm.executeQuery();
			//5)操作结果集,数据封装成 一个实体对象
			while(rs.next()){
				
				//说明存在对应用户名的用户
				user = new User();
				user.setName(rs.getString("u_name"));
				user.setPwd(rs.getString("u_pwd"));	
			}
			
			
		
		}catch (Exception e) {
			e.printStackTrace();
		}finally{
			
			JdbcUtil.close(conn, pstm, rs);
			
		}
	
		return user;
	}

	@Override
	public int addUser(User user) {
		
		return 0;
	}

}

 

你可能感兴趣的:(JAVA基础)