1、eclipse 或者myeclipse 都可以
2、数据库(Oracle或者mysql或者其他也可以)
3、了解Javaweb相关知识
import java.sql.Connection;
import java.sql.DriverManager;
public class DBConnection {
private static final String DRIVER = "oracle.jdbc.driver.OracleDriver";
private static final String URL = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";
private static final String USER = "user";
private static final String PASSWORD = "passwd";
private Connection conn;
public DBConnection() throws Exception{
Class.forName(DRIVER);
conn = DriverManager.getConnection(URL,USER,PASSWORD);
}
public Connection getConnection() {
return this.conn;
}
public void close() throws Exception{
if(this.conn!=null) {
this.conn.close();
}
}
}
建立你需要使用到的实体类(实体类中的对象对应数据库表中的字段数据)
public class User {
private int empno;
private String ename;
private String job;
private String mgr;
private String sal;
private String comm;
private String deptno;
public int getEmpno() {
return empno;
}
public void setEmpno(int empno) {
this.empno = empno;
}
public String getEname() {
return ename;
}
public void setEname(String ename) {
this.ename = ename;
}
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
public String getMgr() {
return mgr;
}
public void setMgr(String mgr) {
this.mgr = mgr;
}
public String getSal() {
return sal;
}
public void setSal(String sal) {
this.sal = sal;
}
public String getComm() {
return comm;
}
public void setComm(String comm) {
this.comm = comm;
}
public String getDeptno() {
return deptno;
}
public void setDeptno(String deptno) {
this.deptno = deptno;
}
}
实现增删改查(先创建接口UserDao,再使用UserDaoImpl实现接口里的方法)
UserDao接口:
import java.util.List;
import com.dbs.user.User;
public interface UserDao {
//数据库新增数据
boolean addUser(User user) throws Exception;
boolean delete(int empno) throws Exception;
List selectAll() throws Exception;
boolean update(User user) throws Exception;
User selectone(int empno) throws Exception;
}
UserDaoImpl类(实现增删改查的方法):
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import com.dbs.db.DBConnection;
import com.dbs.user.User;
public class UserDaoImpl implements UserDao{
private Connection conn;
private PreparedStatement pstmt;
public UserDaoImpl() throws Exception{
this.conn = new DBConnection().getConnection();
}
//添加数据
@Override
public boolean addUser(User user) throws Exception {
boolean flag = false;
String sql="insert into emp(empno,ename,job,deptno) values(?,?,?,?)";
this.pstmt = this.conn.prepareStatement(sql);
pstmt.setInt(1, user.getEmpno());
pstmt.setString(2, user.getEname());
pstmt.setString(3, user.getJob());
pstmt.setInt(4, Integer.valueOf(user.getDeptno()));
if(this.pstmt.executeUpdate()>0) {
flag = true;
}
pstmt.close();
conn.close();
return flag;
}
//删除数据
@Override
public boolean delete(int empno) throws Exception {
boolean flag = false;
String sql="delete from emp where empno=?";
this.pstmt = this.conn.prepareStatement(sql);
pstmt.setInt(1, empno);
if(this.pstmt.executeUpdate()>0) {
flag = true;
}
pstmt.close();
conn.close();
return flag;
}
//查询所有数据
@Override
public List selectAll() throws Exception {
String sql = "select * from emp order by empno desc";
this.pstmt = this.conn.prepareStatement(sql);
ResultSet rs1 = pstmt.executeQuery();
List rsList= new ArrayList();
User user1=null;
while(rs1.next()){
user1 = new User();
user1.setEmpno(Integer.valueOf(rs1.getString(1)));
user1.setEname(rs1.getString(2));
user1.setJob(rs1.getString(3));
user1.setMgr(rs1.getString(4));
user1.setSal(rs1.getString(6));
user1.setComm(rs1.getString(7));
user1.setDeptno(rs1.getString(8));
rsList.add(user1);
}
pstmt.close();
conn.close();
return rsList;
}
//更新一条数据
@Override
public boolean update(User user) throws Exception {
boolean flag = false;
String sql="update emp set ename=?,job=?,mgr=?,sal=?,comm=?,deptno=? where empno=?";
this.pstmt = this.conn.prepareStatement(sql);
pstmt.setString(1, user.getEname());
pstmt.setString(2, user.getJob());
pstmt.setInt(3, Integer.valueOf(user.getMgr()));
pstmt.setInt(4, Integer.valueOf(user.getSal()));
pstmt.setInt(5, Integer.valueOf(user.getComm()));
pstmt.setInt(6, Integer.valueOf(user.getDeptno()));
pstmt.setInt(7, user.getEmpno());
if(this.pstmt.executeUpdate()>0) {
flag = true;
}
pstmt.close();
conn.close();
return flag;
}
//查找一条数据
@Override
public User selectone(int empno) throws Exception {
User user1 = new User();
String sql="select * from emp where empno=?";
this.pstmt = this.conn.prepareStatement(sql);
pstmt.setInt(1, empno);
ResultSet rs1 = pstmt.executeQuery();
//为了匹配显示,其实返回一个对象即可
while(rs1.next()){
user1.setEmpno(Integer.valueOf(rs1.getString(1)));
user1.setEname(rs1.getString(2));
user1.setJob(rs1.getString(3));
user1.setMgr(rs1.getString(4));
user1.setSal(rs1.getString(6));
user1.setComm(rs1.getString(7));
user1.setDeptno(rs1.getString(8));
}
pstmt.close();
conn.close();
return user1;
}
}
创建UserService接口,并创建UserServiceImpl类来在构造方法中实例化DAO对象,并使用DAO中的方法实现UserService类中的方法。
UserService接口:
import java.util.List;
import com.dbs.user.User;
public interface UserService {
boolean addServiceUser(User user) throws Exception;
List selectAllServiceUser() throws Exception;
boolean deleteServiceUser(int empno) throws Exception;
boolean updateServiceUser(User user) throws Exception;
User selectoneServiceUser(int empno) throws Exception;
}
UserServiceImpl类:
import java.util.List;
import com.dbs.dao.UserDao;
import com.dbs.dao.UserDaoImpl;
import com.dbs.user.User;
public class UserServiceImpl implements UserService{
private UserDao dao;
/**
* 构造方法中
* 实例化DAO对象
*
*/
public UserServiceImpl() throws Exception{
dao = new UserDaoImpl();
}
@Override
public boolean addServiceUser(User user) throws Exception {
return this.dao.addUser(user);
}
@Override
public List selectAllServiceUser() throws Exception {
return this.dao.selectAll();
}
@Override
public boolean deleteServiceUser(int empno) throws Exception {
return this.dao.delete(empno);
}
@Override
public boolean updateServiceUser(User user) throws Exception {
return this.dao.update(user);
}
@Override
public User selectoneServiceUser(int empno) throws Exception {
return this.dao.selectone(empno);
}
}
进行最后的数据封装,就是工厂模式
import com.dbs.service.UserService;
import com.dbs.service.UserServiceImpl;
public class ServiceFactory {
public static UserService getUserServicceInstance() throws Exception{
return new UserServiceImpl();
}
}
下面就是实现数据在页面上的呈现,把所有的操作呈现给用户主界面:
Show All
<%List rsList= new ArrayList();%>
<%rsList = (List)ServiceFactory.getUserServicceInstance().selectAllServiceUser(); %>
工号
姓名
职业
领导
工资
奖金
部门
删除操作
修改操作
<c:set value="" var="rsList" scope="request">
增加界面:
Insert title here
新 增 员 工
工号:
姓名:
职业:
部门:
增加处理页面,这里不会呈现给用户,只是后台处理数据的一个过程:
Insert title here
删除处理界面(这里也不呈现):
delete
更新数据页面(这里会呈现,因为需用用户输入相应内容):
Update
员工 的信息修改
<input type="hidden" name="inempno" value="">
工号:<input type="text" name="empno" value="" readonly="readonly"> (不可更改)
姓名:<input type="text" name="ename" value="">
职业:<input type="text" name="job" value="">
领导:<input type="text" name="mgr" value="">
日期:<input type="text" name="hiredate" value="">
工资:<input type="text" name="sal" value="">
奖金:<input type="text" name="comm" value="">
部门:<input type="text" name="deptno" value="">
更新处理界面(这里不呈现给用户):
Insert title here
%>
</ht
小注:代码如果不全,请大家下载我上传的代码包,希望大家有意见多提出来,我们可以一起讨论,我可喜欢和别人聊啦!祝大家学习进步!谢谢!