JDBC程序更新数据库中记录的方法

网友投稿 204 2023-07-27


JDBC程序更新数据库中记录的方法

本文实例讲http://述了JDBC程序更新数据库中记录的方法。分享给大家供大家参考,具体如下:

使用JDBC程序(Eclipse、MyEclipse)更新数据库(mysql)中的记录时可以只修改记录的一个字段或几个字段,具体方法为可以加入如下被注释代码(前提是修改之前可以从数据库中得到该条记录)以user表为例

public class UserDaoJdbcImpl implements UserDao {

public void update(User u) {

Connection conn = null;

PreparedStatement ps = null;

ResultSet rs = null;

try {

conn = JdbcUtils.getConnection();

String sql = "update user set name = ?, birthday = ?, money = ? where id=?";

ps = conn.prepareStatement(sql);

// 首先得到该记录

User user = getUserById(u.getId());

// 判断字段是否需要修改

if (u.getName() == null) {

u.setName(user.getName());

}

if (u.getBirthday() == null) {

u.setBirthday(user.getBirthday());

}

if (u.getMoney() == 0) {

u.setMoney(user.getMoney());

}

ps.setString(1, u.getName());

ps.setDate(2, new java.sql.Date(u.getBirthday().getTime()));

ps.setDouble(uXhcFo3, u.getMoney());

ps.setInt(4, u.getId());

int i = ps.executeUpdate(http://);

System.out.println("成功向user表中更新" + i + "条记录");

} catch (SQLException e) {

e.printStackTrace();

} finally {

JdbcUtils.free(rs, ps, conn);

}

}

public User getUserById(int id) {

Connection conn = null;

PreparedStatement ps = null;

ResultSet rs = null;

User user = null;

try {

conn = JdbcUtils.getConnection();

String sql = "select * from user where id = ?";

ps = conn.prepareStatement(sql);

ps.setInt(1, id);

rs = ps.executeQuery();

if (rs.next()) {

user = new User();

user.setId(rs.getInt("id"));

user.setName(rs.getString("name"));

user.setBirthday(rs.getDate("birthday"));

user.setMoney(rs.getDouble("money"));

}

} catch (SQLException e) {

e.printStackTrace();

} finally {

JdbcUtils.free(rs, ps, conn);

}

return user;

}

}

调用:

public static void main(String[] args) {

UserDao ud = new UserDaoJdbcImpl();

User user = new User();

user.setId(9);

user.setName("老师");//只修改name和birthday属性

Date d = null;

try {

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

d = sdf.parse("1999-9-14");

} catch (ParseException e) {

e.printStackTrace();

}

user.setBirthday(d);

//user.setMoney(1234);不修改money属性

ud.update(user);

}

希望本文所述对大家Java程序设计有所帮助。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java开发人员需知的十大戒律
下一篇:如何选择适合的API网关?
相关文章

 发表评论

暂时没有评论,来抢沙发吧~