千锋逆战班

作业:
工具类:

public class DBUtils {
    private static final Properties PROPERTIES = new Properties();
    private static final ThreadLocal<Connection> THREAD_LOCAL = new ThreadLocal<Connection>();

    static {
        InputStream is = DBUtils.class.getResourceAsStream("/db.properties");
        try {
            PROPERTIES.load(is);
            Class.forName(PROPERTIES.getProperty("driver"));
        } catch (IOException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

    public static Connection getConnection() {
        Connection connection = THREAD_LOCAL.get();
        try {
            if (connection == null) {
                connection = DriverManager.getConnection(PROPERTIES.getProperty("url"), PROPERTIES.getProperty("username"), PROPERTIES.getProperty("password"));
                THREAD_LOCAL.set(connection);
            }

        } catch (SQLException e) {
            e.printStackTrace();
        }
        return connection;
    }

    public static void begin() {
        Connection connection = getConnection();
        try {
            connection.setAutoCommit(false);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public static void commit() {
        Connection connection = getConnection();
        try {
            connection.commit();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBUtils.closeAll(connection, null, null);
        }
    }

    public static void rollback() {
        Connection connection = getConnection();
        try {
            connection.rollback();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBUtils.closeAll(connection, null, null);
        }
    }

    public static void closeAll(Connection connection, Statement statement, ResultSet resultSet) {
        try {
            if (resultSet != null) {
                resultSet.close();
            }
            if (statement != null) {
                statement.close();
            }
            if (connection != null) {
                connection.close();
                THREAD_LOCAL.remove();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

public class DateUtils {
    private static final SimpleDateFormat SIMPLE_DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd");
    public static java.util.Date strToUtilDate(String date){
        try {
            return SIMPLE_DATE_FORMAT.parse(date);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return null;
    }
    public static java.sql.Date utilToSqlDate(java.util.Date date){
        return new java.sql.Date(date.getTime());
    }
}

public class DaoUtils<T> {
    public int commonUpdate(String sql,Object... args){
        Connection connection = null;
        PreparedStatement preparedStatement = null;
        try {
            connection = DBUtils.getConnection();
            preparedStatement = connection.prepareStatement(sql);
            for(int i = 0;i < args.length;i++){
                preparedStatement.setObject(i+1,args[i]);
            }
            return preparedStatement.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            DBUtils.closeAll(null,preparedStatement,null);
        }
        return 0;
    }
    public List<T> commonSelect(String sql, RowMapper<T> rowMapper, Object...args){
        List<T> list = new ArrayList();
        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;
        try {
            connection = DBUtils.getConnection();
            preparedStatement = connection.prepareStatement(sql);
            if(args != null){
                for(int i = 0;i < args.length;i++){
                    preparedStatement.setObject(i+1,args[i]);
                }
            }
            resultSet = preparedStatement.executeQuery();
            while(resultSet.next()){
                T t = rowMapper.getRow(resultSet);
                list.add(t);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            DBUtils.closeAll(null,preparedStatement,resultSet);
        }

        return list;
    }
}

entity类:

package com.qf.student.entity;

import com.qf.student.utils.DateUtils;

import java.util.Date;

public class Student {
    private int id;
    private String name;
    private String password;
    private String sex;
    private Date borndate;
    private String phone;
    public Student(){}
    public Student( String name, String password, String sex, String borndate, String phone) {
        this.name = name;
        this.password = password;
        this.sex = sex;
        this.borndate = DateUtils.strToUtilDate(borndate);
        this.phone = phone;
    }

    @Override
    public String toString() {
        return "Student{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", password='" + password + '\'' +
                ", sex='" + sex + '\'' +
                ", borndate=" + borndate +
                ", phone='" + phone + '\'' +
                '}';
    }

    public int getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public Date getBorndate() {
        return borndate;
    }

    public void setBorndate(Date borndate) {
        this.borndate = borndate;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }
}

RowMapper接口:

public interface RowMapper<T> {
    public T getRow(ResultSet resultSet);
}

RowMapperImpl:

public class RowMapperImpl implements RowMapper<Student>{
    @Override
    public Student getRow(ResultSet resultSet) {
        Student studnet = null;
        try {
            studnet = new Student(resultSet.getString(2),resultSet.getString(3),resultSet.getString(4),resultSet.getString(5),resultSet.getString(6));
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return studnet;
    }
}

StudentService接口:

public interface StudentService {
    String register(Student student);
    String login(int id,String password);
    String update(Student student);
    String deleteStudent(int id);
    Student selectStudent(int id);
    List<Student> showAllStudents();
}

StudentServiceIMpl:

public class StudentServiceImpl implements StudentService {
    @Override
    public String register(Student student) {
        StudentDaoImpl studentDao = new StudentDaoImpl();
        int result = studentDao.insert(student);
        if(result > 0){
            return "注册成功";
        }else{
         return "注册失败";
        }
    }

    @Override
    public String login(int id, String password) {
        StudentDaoImpl studentDao = new StudentDaoImpl();
        Student student = studentDao.select(id);
        if(student.getPassword().equals(password)){
            return "登录成功";
        }else{
            return "登陆失败";
        }
    }

    @Override
    public String update(Student student) {
        StudentDaoImpl studentDao = new StudentDaoImpl();
        int result =  studentDao.update(student);
        if(result > 0){
            return "修改成功";
        }else{
            return "修改失败";
        }
    }

    @Override
    public String deleteStudent(int id) {
        StudentDaoImpl studentDao = new StudentDaoImpl();
        try {
            //DBUtils.begin();
            int result = studentDao.delect(id);
            if(result > 0){
               // DBUtils.commit();
               return "删除成功";
            }else {
                DBUtils.rollback();
                return "删除失败";
            }
        } catch (Exception e) {
           // DBUtils.rollback();
            e.printStackTrace();
        }
        return "出现异常";
    }
    @Override
    public Student selectStudent(int id){
        StudentDaoImpl studentDao = new StudentDaoImpl();
       Student student = studentDao.select(id);
       if(student == null){
           throw new RuntimeException("未查询到该学生信息");
       }else{
           return student;
       }
    }
    @Override
    public List<Student> showAllStudents() {
        StudentDaoImpl studentDao = new StudentDaoImpl();
        return studentDao.selectAll();
    }
}

StudentDao接口:

public interface StudentDao {
    public int insert(Student student);
    public int delect(int id);
    public int update(Student student);
    public Student select(int id);
    public List<Student> selectAll();
}

StudentDaoImpl:

public class StudentDaoImpl implements StudentDao {
    private DaoUtils daoUtils = new DaoUtils();
    @Override
    public int insert(Student student) {
        Object[] args = {student.getName(),student.getPassword(),student.getSex(),student.getBorndate(),student.getPhone()};
        String sql = "insert into t_student(name,password,sex,borndate,phone) values(?,?,?,?,?)";
        return daoUtils.commonUpdate(sql,args);
    }

    @Override
    public int delect(int id) {
        String sql = "delete from t_student where id = ?";
        return daoUtils.commonUpdate(sql,id);
    }

    @Override
    public int update(Student student) {
        String sql= "update t_student set name=?,password=?,sex=?,borndate=?,phone=? where id=?";
        Object[] args = {student.getName(),student.getPassword(),student.getSex(),student.getBorndate(),student.getPhone(),student.getId()};
        return daoUtils.commonUpdate(sql,args);
    }

    @Override
    public Student select(int id) {
        String sql = "select * from t_student where id = ?";
        List<Student> list = daoUtils.commonSelect(sql,new RowMapperImpl(),id);
        if(list !=null ){
            return list.get(0);
        }
        return null;
    }

    @Override
    public List<Student> selectAll() {
        String sql = "select * from t_student";
        List<Student> list = daoUtils.commonSelect(sql,new RowMapperImpl(),null);
        return list;
    }
}

测试类:

public class TestStudent {
    public static void main(String[] args) {
        StudentServiceImpl studentService = new StudentServiceImpl();
        List<Student> list = studentService.showAllStudents();
        list.forEach(System.out::println);
//        Student student = new Student("侯玉","1234","男","2020-01-01","13211112222");
//        studentService.register(student);
//        System.out.println(studentService.deleteStudent(1001));
////        System.out.println(studentService.update(student));
//        System.out.println("studentService.login(1001,1234)");
        
    }
}

HTML:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>作业</title>
	</head>
	<body>
		<div>
			<table align="center" width="100%">
				<tr>
					<td align="left">
						千锋教育-稀有的坚持全程面授品质的大型IT教育机构
					</td>
					<td align="right">
						<a>haha&nbsp;&nbsp;</a>
						<a>hehe&nbsp;&nbsp;</a>
						<a>wahaha&nbsp;&nbsp;</a>
						<a>heheda&nbsp;&nbsp;</a>
					</td>
				</tr>
				<tr>
					<td>
						<img  src="img/new_logo.png"/>
					</td>
					<td>
						<img  src="img/nav_r_ico.png"/ align="right">
					</td>
				</tr>
				<tr>
					<td align="center" colspan="2">
						<hr />
							<span>首页&nbsp;&nbsp;</span>
							<span>课程培训&nbsp;&nbsp;</span>
							<span>教学保障&nbsp;&nbsp;</span>
							<span>免费视频&nbsp;&nbsp;</span>
							<span>公开课&nbsp;&nbsp;</span>
							<span>企业合作&nbsp;&nbsp;</span>
							<span>就业喜报&nbsp;&nbsp;</span>
							<span>学员天地&nbsp;&nbsp;</span>
							<span>关于千锋&nbsp;&nbsp;</span>
							<span>加入我们</span>
						<hr/>
					</td>
				</tr>
				<tr>
					<td align="right" colspan="2">
						首页>课程培训>JavaEE列表
					</td>
				</tr>
			</table>
			
		</div>
		<div>
			
			<table align="center" width="100%">
				<tr>
					<td>
						<h3>课程培训</h3>
						<h4>108种课程内容</h4>
					</td>
				</tr>
				<tr>
					<td>
						<hr />
						<img src="img/001.png" width="100%"/>
					</td>
				</tr>
			</table>
			<table align="center">
				<tr align="center">
					<td>
						<img src="img/002.png"/><br/>
						<div align="center">书名:XXX<div/>
						<div align="center">售价:180<div/>
					</td>
					<td>
						<img src="img/003.png"/><br/>
						<div align="center">书名:XXX<div/>
						<div align="center">售价:180<div/>
					</td>
					<td>
						<img src="img/004.png"/><br/>
						<div align="center">书名:XXX<div/>
						<div align="center">售价:180<div/>
					</td>
					<td>
						<img src="img/005.png"/><br/>
						<div align="center">书名:XXX<div/>
						<div align="center">售价:180<div/>
					</td>
					<td>
						<img src="img/006.png"/><br/>
						<div align="center">书名:XXX<div/>
						<div align="center">售价:180<div/>
					</td>
				</tr>
				<tr align="center">
					<td>
						<img src="img/007.png"/><br/>
						<div align="center">书名:XXX<div/>
						<div align="center">售价:180<div/>
					</td>
					<td>
						<img src="img/008.png"/><br/>
						<div align="center">书名:XXX<div/>
						<div align="center">售价:180<div/>
					</td>
					<td>
						<img src="img/009.png"/><br/>
						<div align="center">书名:XXX<div/>
						<div align="center">售价:180<div/>
					</td>
					<td>
						<img src="img/010.png"/><br/>
						<div align="center">书名:XXX<div/>
						<div align="center">售价:180<div/>
					</td>
					<td>
						<img src="img/011.png"/><br/>
						<div align="center">书名:XXX<div/>
						<div align="center">售价:180<div/>
					</td>
				</tr>
			</table>
		</div>
		<div>
			<table>
				<tr>
					<td>
						<img src="img/012.png" width="100%">
					</td>	
				</tr>
			</table>
		</div>
	</body>
</html>

发布了23 篇原创文章 · 获赞 0 · 访问量 1930

猜你喜欢

转载自blog.csdn.net/funager/article/details/105355117