非常有用的jdbc的操作数据库

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 ;
	}
};


-------------------
下面是具体下载
查询单条记录的时候,结果集用if
查询多条记录的时候,结果集while

你可能感兴趣的:(DAO,sql,jdbc)