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