<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    hyljava

    包含分頁(yè)的JDBC工具類

    包含分頁(yè)的JDBC工具類
    package com.shxt.tool;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ParameterMetaData;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.ResultSetMetaData;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.Map;
    /**
     * @Author:何云龍
     * @Version:JDBC封裝1.1 2012-11-29 下午06:38:55
     * @Description:jdbc的封裝
     */
    public class DBUtil {
    private String url = "jdbc:mysql://localhost:3306/sduentdb";
    private String userName = "root";
    private String passWord = "root";
    private Connection conn = null;
    private Statement st = null;
    private PreparedStatement ps = null;
    private ResultSet rs=null;
    // 加載驅(qū)動(dòng),只加載一次即可
    static {
    try {
    // System.out.println("加載驅(qū)動(dòng)正在進(jìn)行");
    Class.forName("com.mysql.jdbc.Driver");
    } catch (ClassNotFoundException e) {
    System.out.println("加載驅(qū)動(dòng)遇到異常");
    e.printStackTrace();
    }
    }
    public Connection getConnection() {
    // 創(chuàng)建連接
    try {
    conn = DriverManager.getConnection(url, userName, passWord);
    return conn;
    } catch (SQLException e) {
    System.out.println("創(chuàng)建連接出現(xiàn)異常!!");
    e.printStackTrace();
    }
    return null;
    }
    public int update(String sql) {
    // row是指受影響的行數(shù)
    int row = -1;
    try {
    // 當(dāng)前連接如果是空或者被關(guān)閉,需要重新創(chuàng)建一個(gè)連接
    if (conn == null || conn.isClosed()) {
    conn = getConnection();
    }
    st = conn.createStatement();
    row = st.executeUpdate(sql);
    } catch (SQLException e) {
    e.printStackTrace();
    }finally{
    //關(guān)閉資源
    release();
    }
    return row;
    }
    public int update(String sql, Object[] obj) {
    int row = -1;
    // 當(dāng)前連接如果是空或者被關(guān)閉,需要重新創(chuàng)建一個(gè)連接
    try {
    if (conn == null || conn.isClosed()) {
    conn = getConnection();
    }
    ps = conn.prepareStatement(sql);
    // 參數(shù)結(jié)構(gòu)數(shù)據(jù)對(duì)象
    ParameterMetaData pmd = ps.getParameterMetaData();
    int varCount = pmd.getParameterCount();
    // 給sql語(yǔ)句中的問(wèn)號(hào)?附上值
    for (int i = 0; i < varCount; i++) {
    ps.setObject(i + 1, obj[i]);
    }
    row = ps.executeUpdate();
    } catch (SQLException e) {
    e.printStackTrace();
    }finally{
    //關(guān)閉資源
    release();
    }
    return row;
    }
    public ArrayList<Map<String, Object>> queryToList(String sql) {
    ArrayList<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
    // 當(dāng)前連接如果是空或者被關(guān)閉,需要重新創(chuàng)建一個(gè)連接
    try {
    if (conn == null || conn.isClosed()) {
    conn = getConnection();
    }
    st = conn.createStatement();
    rs = st.executeQuery(sql);
    ResultSetMetaData rsmd = rs.getMetaData();
    int col = rsmd.getColumnCount();
     
    while (rs.next()) {
    Map<String, Object> map = new HashMap<String, Object>();
    for (int i = 1; i <= col; i++) {
    map.put(rsmd.getColumnName(i),
    rs.getObject(rsmd.getColumnName(i)));
    }
    list.add(map);
    }
    // System.out.println(list);
    return list;
    } catch (Exception e) {
    e.printStackTrace();
    }finally{
    //關(guān)閉資源
    release();
     
    }
    return null;
    }
    public ArrayList<Map<String, Object>> queryToList(String sql,String[] str) {
    ArrayList<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
    // 當(dāng)前連接如果是空或者被關(guān)閉,需要重新創(chuàng)建一個(gè)連接
    try {
    if (conn == null || conn.isClosed()) {
    conn = getConnection();
    }
    ps = conn.prepareStatement(sql);
    // 參數(shù)結(jié)構(gòu)數(shù)據(jù)對(duì)象
    ParameterMetaData pmd = ps.getParameterMetaData();
    int varCount = pmd.getParameterCount();
    // 給sql語(yǔ)句中的問(wèn)號(hào)?附上值
    for (int i = 0; i < varCount; i++) {
    ps.setString(i + 1, str[i]);
    }
    rs = ps.executeQuery();
    ResultSetMetaData rsmd = rs.getMetaData();
    int col = rsmd.getColumnCount();
    while (rs.next()) {
    Map<String, Object> map = new HashMap<String, Object>();
    for (int i = 1; i <= col; i++) {
    map.put(rsmd.getColumnName(i),
    rs.getObject(rsmd.getColumnName(i)));
    }
    list.add(map);
    }
    return list;
    } catch (Exception e) {
    e.printStackTrace();
    }finally{
    //關(guān)閉資源
    release();
    }
    return null;
    }
    private int pageSize;//頁(yè)容量
    private int rowsCount;//總記錄數(shù)
    private int start;//開始位置
    private int end;//結(jié)束位置
    private int pageNow;//當(dāng)前頁(yè)
    public static int pageCount;//總頁(yè)數(shù)
    public  ArrayList<Map<String, Object>>  getPage(int pageSize,int pageNow,String sql){
    rowsCount=queryToList(sql).size();//獲取到總記錄數(shù)
    pageCount=rowsCount%pageSize==0?rowsCount/pageSize:(rowsCount/pageSize+1);//獲取到總頁(yè)數(shù)
    start=pageNow*pageSize-pageSize;//開始位置
    String sqlPage="select * from  ("+sql+") as t limit "+start+" , "+pageSize;
      ArrayList<Map<String, Object>> list=queryToList(sqlPage);
    return list;
    }
     
    //關(guān)閉資源  釋放資源
    public void release(){
    try {
    if(rs!=null){
    rs.close();
    }
    } catch (SQLException e) {
    e.printStackTrace();
    }
    try {
    if(st!=null){
    st.close();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    try {
    if(ps!=null){
    ps.close();
    }
    } catch (SQLException e) {
    e.printStackTrace();
    }
    try {
    if(conn!=null){
    conn.close();
    }
    } catch (SQLException e) {
    e.printStackTrace();
    }
     
    }
     
    }

    posted on 2013-02-28 22:20 何云隆 閱讀(278) 評(píng)論(0)  編輯  收藏 所屬分類: java

    主站蜘蛛池模板: 精品在线视频免费| 日韩人妻无码精品久久免费一| 国产亚洲精品AA片在线观看不加载| 岛国精品一区免费视频在线观看| 亚洲天堂视频在线观看| 在线成人a毛片免费播放| 日本一区二区三区在线视频观看免费| 久久国产亚洲精品麻豆| 日本三级2019在线观看免费| 大片免费观看92在线视频线视频| 亚洲午夜免费视频| 国产精品视频免费一区二区三区| 国产免费一区二区三区在线观看| 国产精品亚洲精品| 国产亚洲AV夜间福利香蕉149| 国产精品成人观看视频免费| 在线播放免费人成视频网站| 亚洲成aⅴ人片在线影院八| vvvv99日韩精品亚洲| 无码国产精品一区二区免费虚拟VR | jjizz全部免费看片| 四虎国产精品成人免费久久| 亚洲国产成人超福利久久精品| 国产精品亚洲mnbav网站| 成熟女人特级毛片www免费| 曰批全过程免费视频在线观看无码 | 国产三级免费观看| 中文字幕成人免费视频| 男女作爱免费网站| 亚洲日本国产精华液| 亚洲韩国精品无码一区二区三区 | 亚洲欧洲日产国码av系列天堂| 好大好硬好爽免费视频| 青青草无码免费一二三区| 九九九国产精品成人免费视频| 亚洲AV无码专区在线亚| 亚洲图片一区二区| 亚洲av综合av一区| 亚洲综合精品网站| 免费一级成人毛片| 精品无码国产污污污免费|