`

jdbc操作oracle数据库(增删改查)

阅读更多

DAOFactory.java

package cn.mldn.lxh.factory ;

import cn.mldn.lxh.dao.* ;
import cn.mldn.lxh.dao.impl.* ;

public class DAOFactory
{
	public static PersonDAO getPersonDAOInstance()
	{
		return new PersonDAOImpl() ;
	}
};

 

DataBaseConnection.java

package cn.mldn.lxh.dbc ;
import java.sql.* ;

// 主要功能就是连接数据库、关闭数据库
public class DataBaseConnection
{
	private final String DBDRIVER = "oracle.jdbc.driver.OracleDriver" ;
	private final String DBURL = "jdbc:oracle:thin:@localhost:1521:MLDN" ;
	private final String DBUSER = "scott" ;
	private final String DBPASSWORD = "tiger" ;
	private Connection conn = null ;

	public DataBaseConnection()
	{
		try
		{
			Class.forName(DBDRIVER) ;
			this.conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;	
		}
		catch (Exception e)
		{
		}
	}

	// 取得数据库连接
	public Connection getConnection()
	{
		return this.conn ;
	}

	// 关闭数据库连接
	public void close()
	{
		try
		{
			this.conn.close() ;
		}
		catch (Exception e)
		{
		}		
	}
};
 

Person.java

package cn.mldn.lxh.vo ;

// 值对象,包含属性,setter,getter方法
public class Person
{
	private String id ;
	private String name ;
	private String password ;
	private int age ;
	private String email ;

	// 生成getter、setter方法
	public void setId(String id)
	{
		this.id = id ;
	}
	public void setName(String name)
	{
		this.name = name ;
	}
	public void setPassword(String password)
	{
		this.password = password ;
	}
	public void setAge(int age)
	{
		this.age = age ;
	}
	public void setEmail(String email)
	{
		this.email = email ;
	}
	public String getId()
	{
		return this.id ;
	}
	public String getName()
	{
		return this.name ;
	}
	public String getPassword()
	{
		return this.password ;
	}
	public int getAge()
	{
		return this.age ;
	}
	public String getEmail()
	{
		return this.email ;
	}
};

 

PersonDAO.java

package cn.mldn.lxh.dao ;

import java.util.* ;
import cn.mldn.lxh.vo.* ;

// 规定出了操作person表在此项目里的全部方法
public interface PersonDAO
{
	// 增加操作
	public void insert(Person person) throws Exception ;
	// 修改操作
	public void update(Person person) throws Exception ;
	// 删除操作
	public void delete(String id) throws Exception ;
	// 按ID查询操作
	public Person queryById(String id) throws Exception ;
	// 查询全部
	public List queryAll() throws Exception ;
	// 模糊查询
	public List queryByLike(String cond) throws Exception ;
}

 PersonDAOImpl.java

package cn.mldn.lxh.dao.impl ;
import java.sql.* ;
import java.util.* ;
import cn.mldn.lxh.vo.* ;
import cn.mldn.lxh.dbc.* ;
import cn.mldn.lxh.dao.* ;

// 此类需要完成具体的数据库操作,需要JDB代码
public class PersonDAOImpl implements PersonDAO
{
	// 增加操作
	public void insert(Person person) throws Exception
	{
		String sql = "INSERT INTO person (id,name,password,age,email) VALUES (?,?,?,?,?)" ;
		PreparedStatement pstmt = null ;
		DataBaseConnection dbc = null ;

		// 下面是针对数据库的具体操作
		try
		{
			// 连接数据库
			dbc = new DataBaseConnection() ;
			pstmt = dbc.getConnection().prepareStatement(sql) ;
			pstmt.setString(1,person.getId()) ;
			pstmt.setString(2,person.getName()) ;
			pstmt.setString(3,person.getPassword()) ;
			pstmt.setInt(4,person.getAge()) ;
			pstmt.setString(5,person.getEmail()) ;
			// 进行数据库更新操作
			pstmt.executeUpdate() ;
			pstmt.close() ;
		}
		catch (Exception e)
		{
			throw new Exception("操作出现异常") ;
		}
		finally
		{
			// 关闭数据库连接
			dbc.close() ;
		}
	}
	// 修改操作
	public void update(Person person) throws Exception
	{
		String sql = "UPDATE person SET name=?,password=?,age=?,email=? WHERE id=?" ;
		PreparedStatement pstmt = null ;
		DataBaseConnection dbc = null ;

		// 下面是针对数据库的具体操作
		try
		{
			// 连接数据库
			dbc = new DataBaseConnection() ;
			pstmt = dbc.getConnection().prepareStatement(sql) ;			
			pstmt.setString(1,person.getName()) ;
			pstmt.setString(2,person.getPassword()) ;
			pstmt.setInt(3,person.getAge()) ;
			pstmt.setString(4,person.getEmail()) ;
			pstmt.setString(5,person.getId()) ;
			// 进行数据库更新操作
			pstmt.executeUpdate() ;
			pstmt.close() ;
		}
		catch (Exception e)
		{
			throw new Exception("操作出现异常") ;
		}
		finally
		{
			// 关闭数据库连接
			dbc.close() ;
		}
	}
	// 删除操作
	public void delete(String id) throws Exception
	{
		String sql = "DELETE FROM person WHERE id=?" ;
		PreparedStatement pstmt = null ;
		DataBaseConnection dbc = null ;

		// 下面是针对数据库的具体操作
		try
		{
			// 连接数据库
			dbc = new DataBaseConnection() ;
			pstmt = dbc.getConnection().prepareStatement(sql) ;			
			pstmt.setString(1,id) ;
			// 进行数据库更新操作
			pstmt.executeUpdate() ;
			pstmt.close() ;
		}
		catch (Exception e)
		{
			throw new Exception("操作出现异常") ;
		}
		finally
		{
			// 关闭数据库连接
			dbc.close() ;
		}
	}
	// 按ID查询操作
	public Person queryById(String id) throws Exception
	{
		Person person = null ;
		String sql = "SELECT id,name,password,age,email FROM person WHERE id=?" ;
		PreparedStatement pstmt = null ;
		DataBaseConnection dbc = null ;

		// 下面是针对数据库的具体操作
		try
		{
			// 连接数据库
			dbc = new DataBaseConnection() ;
			pstmt = dbc.getConnection().prepareStatement(sql) ;			
			pstmt.setString(1,id) ;
			// 进行数据库查询操作
			ResultSet rs = pstmt.executeQuery() ;
			if(rs.next())
			{
				// 查询出内容,之后将查询出的内容赋值给person对象
				person = new Person() ;
				person.setId(rs.getString(1)) ;
				person.setName(rs.getString(2)) ;
				person.setPassword(rs.getString(3)) ;
				person.setAge(rs.getInt(4)) ;
				person.setEmail(rs.getString(5)) ;
			}
			rs.close() ;
			pstmt.close() ;
		}
		catch (Exception e)
		{
			throw new Exception("操作出现异常") ;
		}
		finally
		{
			// 关闭数据库连接
			dbc.close() ;
		}
		return person ;
	}
	// 查询全部
	public List queryAll() throws Exception
	{
		List all = new ArrayList() ;
		String sql = "SELECT id,name,password,age,email FROM person" ;
		PreparedStatement pstmt = null ;
		DataBaseConnection dbc = null ;

		// 下面是针对数据库的具体操作
		try
		{
			// 连接数据库
			dbc = new DataBaseConnection() ;
			pstmt = dbc.getConnection().prepareStatement(sql) ;			
			// 进行数据库查询操作
			ResultSet rs = pstmt.executeQuery() ;
			while(rs.next())
			{
				// 查询出内容,之后将查询出的内容赋值给person对象
				Person person = new Person() ;
				person.setId(rs.getString(1)) ;
				person.setName(rs.getString(2)) ;
				person.setPassword(rs.getString(3)) ;
				person.setAge(rs.getInt(4)) ;
				person.setEmail(rs.getString(5)) ;

				// 将查询出来的数据加入到List对象之中
				all.add(person) ;
			}
			rs.close() ;
			pstmt.close() ;
		}
		catch (Exception e)
		{
			throw new Exception("操作出现异常") ;
		}
		finally
		{
			// 关闭数据库连接
			dbc.close() ;
		}
		return all ;
	}
	// 模糊查询
	public List queryByLike(String cond) throws Exception
	{
		List all = new ArrayList() ;
		String sql = "SELECT id,name,password,age,email FROM person WHERE name LIKE ? or email LIKE ?" ;
		PreparedStatement pstmt = null ;
		DataBaseConnection dbc = null ;

		// 下面是针对数据库的具体操作
		try
		{
			// 连接数据库
			dbc = new DataBaseConnection() ;
			pstmt = dbc.getConnection().prepareStatement(sql) ;	
			// 设置模糊查询条件
			pstmt.setString(1,"%"+cond+"%") ;
			pstmt.setString(2,"%"+cond+"%") ;
			// 进行数据库查询操作
			ResultSet rs = pstmt.executeQuery() ;
			while(rs.next())
			{
				// 查询出内容,之后将查询出的内容赋值给person对象
				Person person = new Person() ;
				person.setId(rs.getString(1)) ;
				person.setName(rs.getString(2)) ;
				person.setPassword(rs.getString(3)) ;
				person.setAge(rs.getInt(4)) ;
				person.setEmail(rs.getString(5)) ;

				// 将查询出来的数据加入到List对象之中
				all.add(person) ;
			}
			rs.close() ;
			pstmt.close() ;
		}
		catch (Exception e)
		{
			throw new Exception("操作出现异常") ;
		}
		finally
		{
			// 关闭数据库连接
			dbc.close() ;
		}
		return all ;
	}
};
 
分享到:
评论

相关推荐

    JDBC链接Oracle数据库增删改查通用工具类

    标题中的“JDBC链接Oracle数据库增删改查通用工具类”指的是一个Java编程中的实用工具类,它封装了与Oracle数据库交互的JDBC操作,包括插入(Insert)、删除(Delete)、更新(Update)和查询(Select)这四种基本...

    JDBC实现Oracle数据库的增删改查

    总而言之,JDBC为Java开发者提供了强大的工具来与Oracle数据库进行交互,通过熟练掌握JDBC,可以高效地实现数据的增删改查操作。在实践中,还需注意SQL注入安全问题,合理使用PreparedStatement,以及优化数据库访问...

    jsp连接Oracle数据库实现增删改查

    在JavaWeb开发中,连接Oracle数据库并实现增删改查操作是常见的需求。"jsp连接Oracle数据库实现增删改查"这个项目旨在教你如何利用JSP(JavaServer Pages)技术来构建一个完整的用户管理系统,包括登录、注册以及对...

    jdbc操作oracle数据库(增删改查).docx

    JDBC 操作 Oracle 数据库(增删改查) JDBC(Java Database Connectivity)是一种Java API,用于连接和操作关系数据库。 Oracle 数据库是最流行的关系数据库之一,广泛应用于企业级应用中。下面是使用 JDBC 操作 ...

    java实现增删改查使用Oracle数据库

    通过以上步骤,你可以开始学习如何使用Java实现对Oracle数据库的增删改查操作。在实际开发中,还需要学习更多高级概念,如JPA、MyBatis等ORM框架,以及SQL优化、数据库设计等知识。希望本教程能为你开启Java与Oracle...

    合肥师范学院《javaweb》实验六:使用JDBC完成数据的增删改查

    JDBC(Java Database Connectivity)是一种用于连接 Java 程序和数据库的技术,允许 Java 程序连接到关系数据库管理系统,执行 SQL 语句,进行数据的增删改查操作。在本实验报告中,我们将使用 JDBC 实现对用户数据...

    JSP对Oracle进行增删改查

    本篇文章将详细讲解如何使用JSP与Oracle数据库进行交互,实现增、删、改、查的基本操作。 首先,我们需要一个模型类来表示数据库中的表结构。在给定的例子中,`stu`类代表了学生表,包含三个属性:sid(学生ID)、...

    JSP+SERVLET+JDBC实现对数据库的增删改查

    4. **实现数据库操作**:接下来,需要在Servlets中使用JDBC来实现对`student`表的增删改查操作。这通常涉及到以下几个步骤: - 连接数据库:使用JDBC的`DriverManager.getConnection()`方法建立数据库连接。 - ...

    JDBC连接Oracle数据库的增删改查操作的模板代码

    自己写的JDBC连接Oracle数据库进行增删改查操作的源代码; 代码有相应注释,有说明思路的text文档,思路清晰,通俗易懂; 可以作为web开发后台的模板代码; 文件还附上了代码中设计的数据表的pdc文件;

    使用JAVA连接池作的数据库增删改查

    ### 使用JAVA连接池进行数据库增删改查 #### 概述 在现代软件开发中,高效、稳定地处理数据库操作是至关重要的。特别是在基于Java的企业级应用中,使用连接池来管理与数据库之间的连接可以显著提高性能并降低资源...

    JAVA数据库基本操作,增删改查

    无论是构建简单的Web应用还是复杂的企业级系统,开发者都需要掌握如何通过Java代码执行SQL命令来实现数据的增删改查操作。本文将详细介绍如何在Java中实现这些基本操作,并提供具体的代码示例。 #### 一、环境准备 ...

    JSP对Oracle数据库进行增删改查实例.docx

    《JSP对Oracle数据库进行增删改查实例》 在Web开发中,JSP(JavaServer Pages)常常被用于创建动态网页,而Oracle数据库作为一款强大的关系型数据库管理系统,广泛应用于企业级应用。本实例将详细讲解如何使用JSP与...

    增删改查 orcale

    以上就是使用Java和JDBC进行Oracle数据库增删改查的基本步骤。在实际应用中,还应注意异常处理、事务管理以及性能优化等细节。同时,由于`jxc`文件名没有给出更多信息,这里无法提供具体代码示例,但可以根据上述...

    avaWeb servlet通过jdbc对oracle数据库的增删改查,日历控件分页查询,登陆MD5实现加密处理

    1:本系统为servlet,jdbc,oracle实现的数据库增删改查处理; 功能包含有分页查询,jquery日历控件; 简单的登陆处理页面; 数据库存数据时,密码采用MD5 32位小写加密保存 注:ie浏览器下能够正常显示样式,...

    数据库javaweb的增删改查

    增删改查操作主要通过执行SQL语句来实现。添加数据使用`INSERT INTO`语句,例如: ```sql INSERT INTO users (username, password) VALUES ('Alice', '123456'); ``` 删除数据使用`DELETE FROM`语句,如: ```sql...

    SSH框架实现增删改查,Oracle数据库

    在实现增删改查时,我们需要创建Action类,定义对应的方法处理HTTP请求,并通过返回值控制视图的跳转。 2. **Spring**:Spring框架提供依赖注入(DI)和面向切面编程(AOP),使得组件间的耦合度降低。在SSH中,...

    jsp+servlet+jdbc实现增删改查项目

    史上最简单的jsp+servlet+jdbc实现CRUD项目,已经经历了千锤百炼的测试与修改,健壮性一级棒!没有任何问题。而且简明易懂,内附大量注释,是不可多得的好例子。为了保证简单,甚至没有把每个servlet里的jdbc连接...

Global site tag (gtag.js) - Google Analytics