Java JDBC操作Mysql数据库增删改查,分页查询实例详解(源码)

配置信息

public static final String USER_NAME = "root";
public static final String PWD = "123456789";
public static final String DRIVER = "com.mysql.jdbc.Driver";
public static final String URL = "jdbc:mysql://localhost:3306/web_demon";
/** 分页查询默认每页记录条数 */
public static final int PAGE_SIZE_DEFAULT = 10;

获取数据库连接对象

**
   * 获取数据库连接
   * @return 数据库连接对象
   */
  public Connection getConnection(Connection conn) {
    if(conn == null){
      try {
        Class.forName(Config.DRIVER);
        conn = DriverManager.getConnection(Config.URL, Config.USER_NAME, Config.PWD);
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
    return conn;
  }

封装增删改操作

/**
   * 新增,删除,插入操作
   * @param sql 执行的sql语句
   *      例如:新增语句 "insert into user (name,sex) values (?,?)";
   *       删除语句  "delete from user where id=?";
   *       修改语句  "update user set name=?,sex=? where id=? and sex=?";
   * @param values 对应的参数值
   * @return 影响条数,-1为异常
   */
  private int execute(String sql,Object... values){
    Connection conn = null;
    PreparedStatement pStmt = null;
    try {
      conn = this.getConnection(conn);
      pStmt = conn.prepareStatement(sql);
      //设置参数
      if(pStmt != null && values != null && values.length > 0){
        for (int i = 0; i < values.length; i++) {
          pStmt.setObject(i+1, values[i]);
        }
      }
      int i =pStmt.executeUpdate();
      return i;
    } catch (Exception e) {
      e.printStackTrace();
    } finally {
      if (conn != null) {
        this.closeConnection(conn);
      }
    }
    return -1;
  }

新增,删除,修改方法调用示例

//新增
public static void insert(){
    String sql = "insert into user (name,sex) values (?,?)";
    Object[] values = new Object[]{"李四",0};
    int res = baseImp.execute(sql, values);
    System.out.println("insert res="+res);
  }
//删除
public static void delete(){
    String sql = "delete from user where id=?";
    Object[] values = new Object[]{2};
    int res = baseImp.execute(sql, values);
    System.out.println("delete res="+res);
  }
//更新
public static void update(){
    String sql = "update user set name=?,sex=? where id=? and sex=?";
    Object[] values = new Object[]{"张三",1,1,0};
    int res = baseImp.execute(sql, values);
    System.out.println("update res="+res);
  }

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/4929.html

(0)
江山如画的头像江山如画管理团队
上一篇 2020年2月19日 下午7:24
下一篇 2020年2月20日 下午5:59

99%的人还看了以下文章

  • 新闻管理系统数据库设计

    新闻管理系统数据库,包含用户表、新闻评论表、管理员表、栏目表、新闻表、评论表、关键字表 每个表的数据字段,数据类型,是否为空,描述,见下表:

    2020年4月11日
    11.1K0
  • Python 8大知识点——附详细实例代码。

    目录 1. for – else 2.lambda函数 3.列表推导式 4.列表索引的各种骚操作 5.三元表达式 6.巧用断言assert 7.while语句 8.with – as 1. for – else 什么?不是 if 和 else 才是原配吗?No,你可能不知道,else 是个脚踩两只船的家伙,for 和 else 也是一对,而且是合法的。十大装…

    2023年1月14日
    1.8K0
  • input file获取文件路径时无法获取正确的路径

    页面有一个input file服务器控件,一个div,div是image标签的容器,当点击input file的值改变,我们往div里追加image标签;但当通过js的onchange事件动态获取input file 的路径的时候,发现console.log(path)打印出的路径是被浏览器屏蔽的, 例如:C:\fakepath\file.jpg 这是由于浏…

    2019年11月13日
    8.6K0
  • jsp:include包含html文件出现中文乱码的解决方法

    在admin.jsp页面使用<jsp:include page=”left.html”/>包含了一个HTML页面,代码如下 <div id=”left”><jsp:include page=”left.html”/></div> 出现中文乱码: admin.jsp本身没有中文乱码 &lt…

    2019年11月29日
    6.3K0
  • 单元测试环境、过程及任务,单元测试快速入门教程二

    单元测试环境及过程 单元测试环境 单元测试环境的建立是单元测试工作进行的前提和基础,在测试过程中起到的作用不言而喻。单元测试环境并不一定是系统投入使用后所需的真实环境,可采用模拟环境。 由于一个模块或一个方法(Method)不是一个独立的程序,在测试时要考虑它和外界的联系,因此要用到一些辅助模块来模拟与所测模块相联系的其它模块。辅助模块分两种: 驱动模块:相…

    2018年4月16日
    9.3K0
  • 跟永哥学MVC:jsp+javabean+servlet实现求圆的面积

    上一节课我们通过一个案例三种实现,教你理解Jsp、javabean、Servlet(精),今天我们仍然通过同一个案例求圆的面积,使用MVC:jsp+javabean+servlet来实现,深入理解MVC及Jsp、javabean、Servlet的分工和使用。 r5.jsp <form action=”servletCircle” Method=”pos…

    2018年2月22日
    8.1K0

发表回复

登录后才能评论