//完成对数据库的修改
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);
}
}
修改前数据库里面的内容
修改后数据库里面的内容