使用JDBC完成对数据库的修改

//完成对数据库的修改
package dao;

import qqq.JDBCUtils;
import qqq.User;

import java.sql.*;
import java.text.SimpleDateFormat;
import java.util.ArrayList;

public class UsersDao {
    //提供一个添加方法
    public boolean insert(User user) {
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;
        try {
            //获取数据的连接
            conn = JDBCUtils.getConnection();
            //获取Statement对象
            stmt = conn.createStatement();
            //发送Sql语句
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            String birthday = sdf.format(user.getBirthday());

            String sql = "insert into users(id,name,password,email,birthday)" +
                    "values ('"
                    + user.getId() + "','"
                    + user.getUsername() + "','"
                    + user.getPassword() + "','"
                    + user.getEmail() + "','"
                    + birthday + "')";
            int num = stmt.executeUpdate(sql);
            if (num > 0) {
                return true;
            }
            return false;

        } catch (Exception e) {
            e.printStackTrace();

        } finally {
            JDBCUtils.release(rs, stmt, conn);
        }
        return false;

    }

    //查询所有的User对象
    public ArrayList<User> findAll() {
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;
        ArrayList<User> list = new ArrayList<>();
        try {
            //获得数据的连接
            conn = JDBCUtils.getConnection();
            //获取Statement对象
            stmt = conn.createStatement();
            //发送SQL语句
            String sql = "select*from users";
            rs = stmt.executeQuery(sql);
            //处理结果集
            while (rs.next()) {
                User user = new User();
                user.setId(rs.getInt("id"));
                user.setUsername(rs.getString("name"));
                user.setPassword(rs.getString("password"));
                user.setEmail(rs.getString("email"));
                user.setBirthday(rs.getDate("birthday"));
                list.add(user);

            }
            return list;
        } catch (SQLException | ClassNotFoundException e) {
            e.printStackTrace();
        } finally {
            JDBCUtils.release(rs, stmt, conn);
        }
        return null;
    }

    //根据id查找user
    public User findid(int id) {
        Connection conn = null;
        PreparedStatement stmt = null;
        ResultSet rs = null;
        ArrayList<User> list = new ArrayList<>();
        try {
            //1、获得数据的连接
            conn = JDBCUtils.getConnection();
            //2、执行sql语句的对象获取prepareStatement对象
            String sql = "select*from users where id=?";
            stmt = conn.prepareStatement(sql);
            //3、执行sql给id赋值
            stmt.setInt(1, id);
            rs = stmt.executeQuery();
            //处理结果集
            if (rs.next()) {
                User user = new User();
                user.setId(rs.getInt("id"));
                user.setUsername(rs.getString("name"));
                user.setPassword(rs.getString("password"));
                user.setEmail(rs.getString("email"));
                user.setBirthday(rs.getDate("birthday"));
                return user;

            }
            return null;
        } catch (SQLException | ClassNotFoundException e) {
            e.printStackTrace();
        } finally {
            JDBCUtils.release(rs, stmt, conn);
        }
        return null;
    }

    //删除用户
    public boolean delete(int id) {
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;
        try {
            //获取数据库连接
            conn = JDBCUtils.getConnection();
            //获得Statement对象
            stmt = conn.createStatement();
            //发送sql语句
            String sql = "Delete from users where id=" + id;
            int num = stmt.executeUpdate(sql);
            if (num > 0) {
                return true;
            }
            return false;
        } catch (Exception e) {
            e.printStackTrace();

        } finally {
            JDBCUtils.release(rs, stmt, conn);

        }
        return false;
    }

    //修改用户
    public boolean update(User user) {
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;
        try {
            //获取数据库连接
            conn = JDBCUtils.getConnection();
            //获取Statement对象
            stmt = conn.createStatement();
            //发送sql语句
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            String birthday = sdf.format(user.getBirthday());
            String sql = "update users set name=' " + user.getUsername() + "',password='" + user.getPassword()
                    + "',email='" + user.getEmail() + "',birthday='" + birthday + "'where id=" + user.getId();
            int num = stmt.executeUpdate(sql);
            if (num > 0) {
                return true;
            }
            return false;
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            JDBCUtils.release(rs, stmt, conn);
        }
        return false;

    }
}

//测试代码

 

import dao.UsersDao;
import qqq.User;

import java.util.Date;

public class UpdateUserTest {
    //修改use对象的数据
    public  static void main(String args[]){
    UsersDao userDao=new UsersDao();
    User user=new User();
    user.setId(1);
    user.setUsername("lili");
    user.setPassword("3333");
    user.setEmail("234@qq.com");
    user.setBirthday(new Date());
    boolean b=userDao.update(user);
    System.out.println(b);
    }
}

修改前数据库里面的内容

修改后数据库里面的内容

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值