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%的人还看了以下文章

  • 单元测试经验总结,单元测试快速入门教程六

    测试人员在进行测试的工作过程中,应该注意积累测试工作经验,这样可以缩短单元测试的时间,提高测试效果和效率。 如: 1.在做单元测试的过程中,要灵活选用测试用例设计技术,可以首先使用黑盒测试用例设计技术,然后根据相应的覆盖率统计再补充白盒测试用例。这样既减少了测试工作的重复,又保证了单元测试的完整性。 2.设计驱动程序时,要保证测试逻辑的正确性。否则,即使代码…

    2018年4月18日
    3.9K0
  • Python数据分析及可视化,科学计算练习题

    第一章 单元测试 1、 问题:数据分析是指通过分析手段、方法和技巧对准备好的数据进行探索、分析,从中发现因果关系、内部联系和业务规则,为商业提供决策参考。( )选项:A:对B:错答案: 【对】 2、 问题:Anaconda中包含了conda、Python在内的超过18个科学包及其依赖项。( )选项:A:对B:错答案: 【对】 3、 问题:数据分析是一个有目的…

    2022年1月29日
    22.2K1
  • 第三章 JSP技术2:JSP的内置对象及使用

    内置对象:为简化Web页面的开发过程,JSP提供了一些内置对象,这些对象不用声明就可以在JSP页面中直接使用,是JSP引擎自动创建的Java类实例。
    request对象
    response对象
    out对象
    session对象
    application对象

    2018年2月2日
    2.8K0
  • 500 Internal Server Error 错误原因及解决方法(图)

    500 属于服务器内部错误。如果其他网站可以打开,就这一网站打不开,那是该网站的服务器出了问题,跟你的电脑无关,如果其他网页都打不开,你就试着用工具修复一下浏览器。 500内部服务器错误的一般原因是IIS服务器无法解析ASP代码。 如:ASP语法出错、ACCESS数据库连接语句出错,文件引用与包含路径出错、使用了服务器不支持的组件如FSO等。 如果在Wind…

    2018年7月2日
    32.6K0
  • web前端显示设备实时温度,ECharts实现温度折线图,实时动态温度曲线图生成

    web前端显示设备实时温度,ECharts实现温度折线图,实时动态温度曲线图生成。 具体步骤如下: 1.在页面中引入ECharts文件echarts-all.js <!– ECharts单文件引入 –> <script src=”http://echarts.baidu.com/build/dist/echarts-all.js”&gt…

    2019年5月31日
    20.1K1
  • 9个要点让你成为优秀的Java程序员

    文章介绍了要成为优秀Java程序员的9个要点,掌握了这些要点,会让你在众多Java开发人员中脱颖而出。

    2022年12月1日
    1.3K0

发表回复

登录后才能评论