登陆dao层接口。
package com.wh.dao;
import com.wh.entity.Student;
public interface LoginDao {
public Boolean login(Student student);
}
登陆dao层实现类。
package com.wh.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.wh.entity.Student;
import com.wh.utils.DBUtil;
public class LoginDaoImpl implements LoginDao {
@SuppressWarnings("unused")
@Override
public Boolean login(Student student) {
// TODO Auto-generated method stub
Boolean result=false;
Connection connection=null;
PreparedStatement preparedStatement=null;
ResultSet resultSet=null;
try {
connection=DBUtil.getConnection();
String sql=" select*from user where username=? and password=? ";
preparedStatement=connection.prepareStatement(sql);
preparedStatement.setString(1, student.getUsername());
preparedStatement.setString(2, student.getPassword());
resultSet=preparedStatement.executeQuery();
if(resultSet.next()){
return result=true;
}
else {
return result=false;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return result=false;
}
finally {
try {
resultSet.close();
preparedStatement.close();
connection.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
注册dao层接口。
package com.wh.dao;
import com.wh.entity.Student;
public interface RegisterDao {
/*
* 判断用户是否注册
*/
@SuppressWarnings("rawtypes")
public Enum registered(Student student);
/*
* 用户注册是否成功
*/
@SuppressWarnings("rawtypes")
public Enum register(Student student);
}
注册dao层实现类。
package com.wh.dao;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.wh.entity.Student;
import com.wh.utils.DBUtil;
import com.wh.utils.DateUtil;
import com.wh.utils.RegisterStatus;
public class RegisterDaoImpl implements RegisterDao {
Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
@SuppressWarnings("rawtypes")
@Override
public Enum registered(Student student) {
// TODO Auto-generated method stub
con = DBUtil.getConnection();
String sql = " select*from user where username=? ";
try {
ps = con.prepareStatement(sql);
ps.setString(1, student.getUsername());
rs = ps.executeQuery();
if (rs.next()) {
return RegisterStatus.REAISTERED;
} else {
return RegisterStatus.SUCCESS;
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return RegisterStatus.FAILURE;
} finally {
DBUtil.closeConnection(con, ps, rs);
}
}
@SuppressWarnings("rawtypes")
@Override
public Enum register(Student student) {
// TODO Auto-generated method stub
con=DBUtil.getConnection();
String sql=" insert into user(username,password,name,gender,age,address,regdate) values(?,?,?,?,?,?,?) ";
try {
ps=con.prepareStatement(sql);
ps.setString(1, student.getUsername());
ps.setString(2, student.getPassword());
ps.setString(3, student.getName());
ps.setString(4, student.getGender());
ps.setInt(5, student.getAge());
ps.setString(6, student.getAddress());
ps.setDate(7, new Date(student.getRegdate().getTime()));
int ud=ps.executeUpdate();
if(ud>0) {
return RegisterStatus.SUCCESS;
}else {
return RegisterStatus.FAILURE;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return RegisterStatus.FAILURE;
}finally {
try {
ps.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
学生增删改查dao层接口。
package com.wh.dao;
import java.util.List;
import com.wh.entity.Student;
//获取所有学生信息
public interface StudentDao {
public List<Student> getStudents();
public void delStudent(int id);
public void addStudent(Student student);
/**
* 操作数据库获得指定id的信息
*/
public Student alterStudent(int id);
/**
* 传入已经修改的学生信息到数据库中
*/
public void alteredStudent(Student student);
}
学生增删改查dao层实现类。
package com.wh.dao;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.wh.entity.Student;
import com.wh.utils.DBUtil;
public class StudentDaoImpl implements StudentDao {
Connection connection = null;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
/**
* 获得所有学生的信息
*/
@Override
public List<Student> getStudents() {
// TODO Auto-generated method stub
List<Student> students = new ArrayList<>();
connection = DBUtil.getConnection();
String sql = "select*from user";
try {
preparedStatement = connection.prepareStatement(sql);
resultSet = preparedStatement.executeQuery();
while (resultSet.next()) {
Student student = new Student();
student.setId(resultSet.getInt("id"));
student.setUsername(resultSet.getString("username"));
student.setPassword(resultSet.getString("password"));
student.setName(resultSet.getString("name"));
student.setGender(resultSet.getString("gender"));
student.setAge(resultSet.getInt("age"));
student.setAddress(resultSet.getString("address"));
student.setRegdate(resultSet.getDate("regdate"));
students.add(student);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
DBUtil.closeConnection(connection, preparedStatement, resultSet);
}
return students;
}
@Override
public void delStudent(int id) {
// TODO Auto-generated method stub
connection = DBUtil.getConnection();
String sql = " delete from user where id=? ";
try {
connection.setAutoCommit(false);
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setInt(1, id);
preparedStatement.executeUpdate();
connection.commit();
} catch (SQLException e) {
// TODO Auto-generated catch block
try {
connection.rollback();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
e.printStackTrace();
} finally {
DBUtil.closeConnection(connection, preparedStatement, null);
}
}
/**
* dao向数据库添加数据
*/
@Override
public void addStudent(Student student) {
// TODO Auto-generated method stub
connection = DBUtil.getConnection();
String sql = " insert into user (username,password,name,gender,age,address,regdate) values (?,?,?,?,?,?,?) ";
try {
connection.setAutoCommit(false);
// 设置手动提交事务
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, student.getUsername());
preparedStatement.setString(2, student.getPassword());
preparedStatement.setString(3, student.getName());
preparedStatement.setString(4, student.getGender());
preparedStatement.setInt(5, student.getAge());
preparedStatement.setString(6, student.getAddress());
preparedStatement.setDate(7, new Date(student.getRegdate().getTime()));
preparedStatement.executeUpdate();
connection.commit();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
try {
connection.rollback();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
} finally {
DBUtil.closeConnection(connection, preparedStatement, null);
}
}
@Override
public Student alterStudent(int id) {
// TODO Auto-generated method stub
connection = DBUtil.getConnection();
Student student = null;
String sql = " select*from user where id=? ";
try {
connection.setAutoCommit(false);
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setInt(1, id);
resultSet = preparedStatement.executeQuery();
connection.commit();
while (resultSet.next()) {
student = new Student();
student.setId(resultSet.getInt("id"));
student.setUsername(resultSet.getString("username"));
student.setPassword(resultSet.getString("password"));
student.setName(resultSet.getString("name"));
student.setGender(resultSet.getString("gender"));
student.setAge(resultSet.getInt("age"));
student.setAddress(resultSet.getString("address"));
student.setRegdate(resultSet.getDate("regdate"));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
try {
connection.rollback();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
return student;
}
@Override
public void alteredStudent(Student student) {
// TODO Auto-generated method stub
connection=DBUtil.getConnection();
String sql=" update user set username=?,password=?,name=?,gender=?,age=?,address=?,regdate=? where id=? ";
try {
connection.setAutoCommit(false);
preparedStatement=connection.prepareStatement(sql);
preparedStatement.setString(1, student.getUsername());
preparedStatement.setString(2, student.getPassword());
preparedStatement.setString(3, student.getName());
preparedStatement.setString(4, student.getGender());
preparedStatement.setInt(5, student.getAge());
preparedStatement.setString(6, student.getAddress());
preparedStatement.setDate(7, new Date(student.getRegdate().getTime()));
preparedStatement.setInt(8, student.getId());
preparedStatement.executeUpdate();
connection.commit();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
try {
connection.rollback();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
finally {
DBUtil.closeConnection(connection, preparedStatement, null);
}
}
}