zoukankan      html  css  js  c++  java
  • JDBC 增、删、改、查

    增、删、改方法

    public class JdbcTest {

    /**
    * 提供: 增 、删、改3个功能的通用方法
    *
    * @param sql
    * @param args sql 中占位符的值,可以用多个逗号隔开
    */
    public void update(String sql, Object... args) throws Exception {
    Connection connection = null;
    PreparedStatement preparedStatement = null;

    try {
    connection = JdbcUtils.getConnection();
    System.out.println(sql);
    preparedStatement = connection.prepareStatement(sql);

    for (int i = 0; i < args.length; i++) {
    preparedStatement.setObject(i + 1, args[i]);
    }
    preparedStatement.executeUpdate();
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    JdbcUtils.release(preparedStatement, connection, null);
    }
    }

    @Test
    public void insert() throws Exception {
    String sql = "INSERT INTO user(user_name,sex,user_role,password,id_card,register_time)"
    + " VALUES(?,?,?,?,?,?)";

    update(sql,"小红","女","VIP用户","xh","654...","2019-01-25 14:02:03");
    }

    @Test
    public void delete() throws Exception {
    // 删除 user 表中 user_name 为小红的信息
    String sql = "DELETE FROM user WHERE user_name=?";
    update(sql,"小红");
    }

    @Test
    public void modify() throws Exception {
    // user 表中 user_name 为小红 的用户,将其 user_role 改为 普通用户
    String sql = "UPDATE user set user_role=? WHERE user_name=?";
    update(sql,"普通用户","小红");
    }
    }
    通用查询方法封装

        利用面向对象编程的思想,我们新建了一个 User 类,此类变量为 user 表对应的列名,代码如下:

    package com.xww;

    public class User {

    public String userName;
    public String password;
    public String registerTime;
    public String sex;
    public String userRole;
    public String idCard;

    public User(String userName, String password, String registerTime,
    String sex, String userRole, String idCard) {
    super();
    this.userName = userName;
    this.sex = sex;
    this.userRole = userRole;
    this.password = password;
    this.idCard = idCard;
    this.registerTime = registerTime;
    }

    public String getUserName() {
    return userName;
    }

    public void setUserName(String userName) {
    this.userName = userName;
    }

    public String getSex() {
    return sex;
    }

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

    public String getUserRole() {
    return userRole;
    }

    public void setUserRole(String userRole) {
    this.userRole = userRole;
    }

    public String getPassword() {
    return password;
    }

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

    public String getIdCard() {
    return idCard;
    }

    public void setIdCard(String idCard) {
    this.idCard = idCard;
    }

    public String getRegisterTime() {
    return registerTime;
    }

    public void setRegisterTime(String registerTime) {
    this.registerTime = registerTime;
    }

    @Override
    public String toString() {
    return "User [userName=" + userName + ", password=" + password + ", registerTime=" + registerTime + ", sex="
    + sex + ", userRole=" + userRole + ", idCard=" + idCard + "]";
    }
    }
        那么查询 user 表的方法就可以写为这样(不够灵活):

    public User query(String sql) {
    Connection connection = null;
    PreparedStatement preparedStatement = null;
    ResultSet resultSet = null;
    User user = null;

    try {
    connection = JdbcUtils.getConnection();
    System.out.println(sql);
    preparedStatement = connection.prepareStatement(sql);
    resultSet = preparedStatement.executeQuery(http://www.amjmh.com);

    while (resultSet.next()) {
    user = new User(resultSet.getString(2), resultSet.getString(3), resultSet.getString(4),
    resultSet.getString(5), resultSet.getString(6), resultSet.getString(7));
    System.out.println(user.toString());
    }
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    JdbcUtils.release(preparedStatement, connection, resultSet);
    }
    return user;
    }

    ---------------------

  • 相关阅读:
    ImageLightbox.js – 响应式的图片 Lightbox 插件
    精美素材:10套最新出炉的免费扁平图标下载
    盘点2013年那些最优秀的网页设计作品【系列三】
    12个带给你惊喜用户体验的手机界面设计
    一款效果精致的 jQuery 多层滑出菜单插件
    创意无限:20幅惊人的霓虹灯摄影照片欣赏
    『设计前沿』14款精致的国外 iOS7 图标设计示例
    2013年值得我们学习的网页设计作品【系列二】
    Summernote – 基于 Bootstrap 的文本编辑器
    『摄影欣赏』2013年微软必应搜索十大首页美图
  • 原文地址:https://www.cnblogs.com/hyhy904/p/11335090.html
Copyright © 2011-2022 走看看