zoukankan      html  css  js  c++  java
  • 软件工程概论之课堂测试一

    程序设计思想:

    首先有了以前登录注册的框架,其思想是一致的。所以在jsp中加入相关判断,修改界面即可。

    源程序:

    package com.jaovo.msg.dao;

    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;


    import com.jaovo.msg.Util.DBUtil;
    import com.jaovo.msg.Util.UserException;
    import com.jaovo.msg.model.User;

    //import sun.net.www.content.text.plain;

    public class UserDaoImpl implements IUserDao {

    @Override
    public void add(User user) {
    //鑾峰緱閾炬帴瀵硅薄
    Connection connection = DBUtil.getConnection();
    //鍑嗗�sql璇�彞
    String sql = "select count(*) from t_user where username = ?";
    //鍒涘缓璇�彞浼犺緭瀵硅薄
    PreparedStatement preparedStatement = null;
    ResultSet resultSet = null;
    try {
    preparedStatement = connection.prepareStatement(sql);
    preparedStatement.setString(1, user.getUsername());
    //鎺ユ敹缁撴灉闆?
    resultSet = preparedStatement.executeQuery();
    //閬嶅巻缁撴灉闆?
    while(resultSet.next()) {
    if (resultSet.getInt(1) > 0) {
    throw new UserException("鐢ㄦ埛宸插瓨鍦?") ;
    }
    }

    sql = "insert into t_user(username,password,nickname) value (?,?,?)";
    preparedStatement = connection.prepareStatement(sql);
    preparedStatement.setString(1, user.getUsername());
    preparedStatement.setString(2, user.getPassword());
    preparedStatement.setString(3, user.getNickname());
    preparedStatement.executeUpdate();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }finally {
    //鍏抽棴璧勬簮
    DBUtil.close(resultSet);
    DBUtil.close(preparedStatement);
    DBUtil.close(connection);
    }

    }

    @Override
    public void delete(int id) {
    Connection connection = DBUtil.getConnection();
    String sql = "delete from t_user where id = ?";
    PreparedStatement preparedStatement = null;

    try {
    preparedStatement = connection.prepareStatement(sql);
    preparedStatement.setInt(1, id);
    preparedStatement.executeUpdate();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }finally {
    DBUtil.close(preparedStatement);
    DBUtil.close(connection);
    }

    }

    @Override
    public void update(User user) {
    Connection connection = DBUtil.getConnection();
    //鍑嗗�sql璇�彞
    String sql = "update t_user set password = ? , nickname=? where id = ?";
    //鍒涘缓璇�彞浼犺緭瀵硅薄
    PreparedStatement preparedStatement = null;
    try {
    preparedStatement = connection.prepareStatement(sql);
    preparedStatement.setString(1, user.getPassword());
    preparedStatement.setString(2, user.getNickname());
    preparedStatement.setInt(3, user.getId());
    preparedStatement.executeUpdate();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }finally {
    DBUtil.close(preparedStatement);
    DBUtil.close(connection);
    }
    }

    @Override
    public User load(int id) {
    Connection connection = DBUtil.getConnection();
    //鍑嗗�sql璇�彞
    String sql = "select * from t_user where id = ?";
    //鍒涘缓璇�彞浼犺緭瀵硅薄
    PreparedStatement preparedStatement = null;
    ResultSet resultSet = null;
    User user = null;
    try {
    preparedStatement = connection.prepareStatement(sql);
    preparedStatement.setInt(1, id);
    resultSet = preparedStatement.executeQuery();
    while(resultSet.next()) {
    user = new User();
    user.setId(id);
    user.setUsername(resultSet.getString("username"));
    user.setPassword(resultSet.getString("password"));
    user.setNickname(resultSet.getString("nickname"));
    }
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }finally {
    DBUtil.close(resultSet);
    DBUtil.close(preparedStatement);
    DBUtil.close(connection);
    }
    return user;
    }

    @Override
    public User load(String username) {
    // TODO Auto-generated method stub
    return null;
    }

    @Override
    public List<User> load() {
    Connection connection = DBUtil.getConnection();
    //鍑嗗�sql璇�彞
    String sql = "select * from t_user ";
    //鍒涘缓璇�彞浼犺緭瀵硅薄
    PreparedStatement preparedStatement = null;
    ResultSet resultSet = null;
    //闆嗗悎涓�彧鑳芥斁鍏�ser瀵硅薄
    List<User> users = new ArrayList<User>();
    User user = null;
    try {
    preparedStatement = connection.prepareStatement(sql);
    resultSet = preparedStatement.executeQuery();
    while(resultSet.next()) {
    user = new User();
    user.setId(resultSet.getInt("id"));
    user.setUsername(resultSet.getString("username"));
    user.setPassword(resultSet.getString("password"));
    user.setNickname(resultSet.getString("nickname"));
    users.add(user);
    }
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }finally {
    DBUtil.close(resultSet);
    DBUtil.close(preparedStatement);
    DBUtil.close(connection);
    }
    return users;
    }

    }

    package com.jaovo.msg.Util;

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;

    public class DBUtil {

    public static Connection getConnection() {
    try {
    //1 鍔犺浇椹卞姩
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    String user = "root";
    String password = "a13293581799";
    String url = "jdbc:mysql://localhost:3306/jaovo_msg";
    Connection connection = null;
    try {
    //2 鍒涘缓閾炬帴瀵硅薄connection
    connection = DriverManager.getConnection(url,user,password);
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    return connection;
    }

    //鍏抽棴璧勬簮鐨勬柟娉?
    public static void close(Connection connection ) {
    try {
    if (connection != null) {
    connection.close();
    }

    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    public static void close(PreparedStatement preparedStatement ) {
    try {
    if (preparedStatement != null) {
    preparedStatement.close();
    }

    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    public static void close(ResultSet resultSet ) {
    try {
    if (resultSet != null) {
    resultSet.close();
    }

    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }

    }

    结果截图:

    ---恢复内容结束---

  • 相关阅读:
    D. Babaei and Birthday Cake--- Codeforces Round #343 (Div. 2)
    Vijos P1389婚礼上的小杉
    AIM Tech Round (Div. 2) C. Graph and String
    HDU 5627Clarke and MST
    bzoj 3332 旧试题
    codeforces 842C Ilya And The Tree
    codesforces 671D Roads in Yusland
    Travelling
    codeforces 606C Sorting Railway Cars
    codeforces 651C Watchmen
  • 原文地址:https://www.cnblogs.com/-2016/p/7911798.html
Copyright © 2011-2022 走看看