JDBC连接Oracle数据库步骤

JAVA基础 专栏收录该内容
23 篇文章 0 订阅

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

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

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

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

将配置代码复制到创建的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;
	}

}

 

  • 3
    点赞
  • 0
    评论
  • 13
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值