欢迎光临散文网 会员登陆 & 注册

struts2框架:分页查询,easyui实现管理模块,查询数据库条数,视频笔记【诗书画唱】

2021-01-13 23:51 作者:诗书画唱  | 我要投稿

CTRL+F:关于查询到数据库条数的方法。视频和视频笔记。


附加的话:这期的学习内容比较简单,所以一些视频笔记这类的没记录太多。关于查询到数据库条数的方法。

代码例子 START

package com.SSHC.action;


import java.io.ByteArrayInputStream;

import java.io.InputStream;

import java.io.UnsupportedEncodingException;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;


import com.SSHC.bean.Game;

import com.SSHC.dao.GameDao;


public class GameAction {

private Map<String,Object>map = new HashMap<String,Object>();

    private GameDao gameDao = new GameDao();

    private Game g;

    //添加分页属性

    private Integer rows;//每页记录条数

    private Integer page;//页码数

public Map<String, Object> getMap() {

return map;

}


public void setMap(Map<String, Object> map) {

this.map = map;

}

public GameDao getGameDao() {

return gameDao;

}


public void setGameDao(GameDao gameDao) {

this.gameDao = gameDao;

}


public Integer getRows() {

return rows;

}


public void setRows(Integer rows) {

this.rows = rows;

}


public Integer getPage() {

return page;

}


public void setPage(Integer page) {

this.page = page;

}


public Game getG() {

return g;

}


public void setG(Game g) {

this.g = g;

}


public String loadAll(){

System.out.println("每页显示" + rows + "条数据");

System.out.println("当前显示第" + page + "页的数据");

g = new Game();

g.setPage(page);

g.setRows(rows);

List<Game>list = gameDao.selectByPage(g);

Integer total = gameDao.total();

map.put("rows", list);

map.put("total", total);

return "success";

}

}


package com.SSHC.bean;


public class Game {

    private Integer id;

    private String gname;

    private String gtype;

    private String gcomp;

    private String gyear;

    

    //分页属性

    private Integer page;

    private Integer rows;

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public String getGname() {

return gname;

}

public void setGname(String gname) {

this.gname = gname;

}

public String getGtype() {

return gtype;

}

public void setGtype(String gtype) {

this.gtype = gtype;

}

public String getgcomp() {

return gcomp;

}

public void setgcomp(String gcomp) {

this.gcomp = gcomp;

}

public String getGyear() {

return gyear;

}

public void setGyear(String gyear) {

this.gyear = gyear;

}

public Integer getPage() {

return page;

}

public void setPage(Integer page) {

this.page = page;

}

public Integer getRows() {

return rows;

}

public void setRows(Integer rows) {

this.rows = rows;

}

}

package com.SSHC.dao;


import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.ArrayList;

import java.util.List;


import com.SSHC.bean.Game;

import com.SSHC.util.DbUtil;


public class GameDao {

    public List<Game>selectByPage(Game game){

    String sql = "select * from game limit ?,?";

    List<Game>list = new ArrayList<Game>();

    Connection conn = null;

    PreparedStatement pstm = null;

    ResultSet rs = null;

   

    try {

        conn = DbUtil.getConn();

pstm = conn.prepareStatement(sql);

Integer page = game.getPage();

Integer rows = game.getRows();

//隐藏的记录条数

Integer hideCount = (page - 1) * rows;

pstm.setInt(1, hideCount);

pstm.setInt(2, rows);

rs = pstm .executeQuery();

while(rs.next()){

Game g = new Game();

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

g.setGname(rs.getString("gname"));

g.setGtype(rs.getString("gtype"));

g.setgcomp(rs.getString("gcomp"));

g.setGyear(rs.getString("gyear"));

list.add(g);

}

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} finally {

DbUtil.close(rs, pstm, conn);

}

    return list;

    }

    

    public Integer total(){

    String sql = "select count(*) ct from game";

    Integer count = 0;

    Connection conn = null;

    PreparedStatement pstm = null;

    ResultSet rs = null;

   

    try {

        conn = DbUtil.getConn();

pstm = conn.prepareStatement(sql);

rs = pstm.executeQuery();

if(rs.next()) {

count = rs.getInt("ct");



System.out.println("count:"+count);

}

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} finally {

DbUtil.close(rs, pstm, conn);

}   

    return count;

    }

}

package com.SSHC.util;


import java.io.IOException;

import java.io.InputStream;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.util.Properties;


public class DbUtil {

private static String driverName;

    private static String url;

    private static String user;

    private static String pwd;

    

    static {

    //读取properties文件

    Properties prop = new Properties();

    //将db.properties文件读取到内存中去

    InputStream is = DbUtil.class.getClassLoader()

    .getResourceAsStream("db.properties");

    //加载内容

    try {

prop.load(is);

//读取内容

driverName = prop.getProperty("drivername");

url = prop.getProperty("url");

user = prop.getProperty("username");

pwd = prop.getProperty("password");

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

    }

    

    //获取数据库连接对象的方法

    public static Connection getConn(){

    Connection conn = null;

    try {

Class.forName(driverName);

conn = DriverManager.getConnection(url,user,pwd);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}   

    return conn;

    }

    

    public static void close(ResultSet rs,PreparedStatement pstm

    ,Connection conn){

        try {

        if(rs != null) {

            rs.close();

            }

            if(pstm != null) {

            pstm.close();

            }

            if(conn != null) {

            conn.close();

            }

        } catch(Exception e) {

        e.printStackTrace();

        }

    }

}

drivername=com.mysql.jdbc.Driver

url=jdbc:mysql://localhost:3306/firstjsp?useUnicode=true&amp;characterEncoding=GBK2312

username=root

password=root


<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">

<struts>

     <package name="my" namespace="/gm" extends="json-default">

         <action name="ldAc" class="com.SSHC.action.GameAction"

             method="loadData">

             <result type="stream">

                 <param name="contentType">text/plain</param>

                 <!-- action返回的字符串的内容取自GameAction的哪个属性 -->

                 <param name="inputName">ins</param>

             </result>

         </action>

         <action name="ldAllAc" class="com.SSHC.action.GameAction"

             method="loadAll">

             <result type="json">

                 <param name="root">map</param>

                 <param name="contentType">text/html</param>

             </result>

         </action>  

     </package>

</struts>



<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">

  <display-name>EasyuiJavaWebHomeWork1</display-name>

  <!-- struts2框架的配置 -->

  <filter>

      <filter-name>struts2</filter-name>

      <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

  </filter>

  <filter-mapping>

      <filter-name>struts2</filter-name>

      <url-pattern>/*</url-pattern>

  </filter-mapping>

  <welcome-file-list>

    <welcome-file>index.html</welcome-file>

    <welcome-file>index.htm</welcome-file>

    <welcome-file>index.jsp</welcome-file>

    <welcome-file>default.html</welcome-file>

    <welcome-file>default.htm</welcome-file>

    <welcome-file>default.jsp</welcome-file>

  </welcome-file-list>

</web-app>

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<%

    String path = request.getContextPath();

    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

    <head>

        <base hreff="<%=basePath%>">

        <title></title>

        <meta http-equiv="pragma" content="no-cache">

        <meta http-equiv="cache-control" content="no-cache">

        <meta http-equiv="expires" content="0">

        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

        <meta http-equiv="description" content="This is my page">

    </head>

    <body>

        <h1 align="center">新增游戏</h1>

        <form action="" method="post">

            <table align="center">

                <tr>

                    <td>游戏名称:</td>

                    <td>

                        <input name="gname" class="easyui-validatebox" 

                            data-options="required:true" 

                            validType="length[6,30]" 

                            invalidMessage="游戏名称的长度必须在6到30位之间"

                            style="width:180px;" />

                    </td>

                </tr>

                <tr>

                    <td>游戏类型:</td>

                    <td>

                        <input name="gtype" class="easyui-combobox"

                            style="width:180px;"

                            data-options="valueField:'id',textField:'gtype',

                                panelHeight:'auto',editable:false,data:[{

                                    id:'1',

                                    gtype:'塔防'

                                },{

                                    id:'2',

                                    gtype:'战略'

                                },{

                                    id:'3',

                                    gtype:'MOB'

                                },{

                                    id:'4',

                                    gtype:'RPG'

                                },{

                                   id:'5',

                                   gtype:'休闲'

                                }]" />

                    </td>

                </tr>

                <tr>

                    <td>游戏公司:</td>

                    <td>

                        <input name="gcomp" class="easyui-validatebox"  

                            validType="length[4,30]" 

                            invalidMessage="游戏公司的长度必须在4到30位之间"

                            style="width:180px;" />

                    </td>

                </tr>

                <tr>

                    <td>游戏年份:</td>

                    <td>

                        <input name="gyear" class="easyui-numberbox"

                            data-options="min:1000,max:9999"

                            style="width:180px;" />

                    </td>

                </tr>

                <tr>

                    <td colspan="2" align="center">

                        <a hreff="javascript:void(0);" class="easyui-linkbutton"

                            data-options="iconCls:'icon-save'">保存</a>

                        <a hreff="javascript:clsWin();" onclick="clsWin();" class="easyui-linkbutton"

                            data-options="iconCls:'icon-cut'">取消</a>

                    </td>

                </tr>

            </table>

        </form>

    </body>

</html>





————

{"total":2,"rows":[{"id":1,"gname":"WANGZHERONGYI","gtype":"MOB","gcomp":"TENCENT","gyear":2010}]}

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<%

    String path = request.getContextPath();

    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

    <head>

        <base hreff="<%=basePath%>">

        <title></title>

        <meta http-equiv="pragma" content="no-cache">

        <meta http-equiv="cache-control" content="no-cache">

        <meta http-equiv="expires" content="0">

        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

        <meta http-equiv="description" content="This is my page">

    </head>

    <body>

        <h1>修改</h1>

    </body>

</html>

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<%

    String path = request.getContextPath();

    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

    <head>

        <base hreff="<%=basePath%>">

        <title></title>

        <meta http-equiv="pragma" content="no-cache">

        <meta http-equiv="cache-control" content="no-cache">

        <meta http-equiv="expires" content="0">

        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

        <meta http-equiv="description" content="This is my page">

        <link rel="stylesheet" type="text/css" hreff="css/themes/default/easyui.css">

        <link rel="stylesheet" type="text/css" hreff="css/themes/icon.css">

        <script type="text/javascript" srcc="js/jquery.min.js"></script>

        <script type="text/javascript" srcc="js/jquery.easyui.min.js"></script>

        <!-- 语言汉化包 -->

        <script type="text/javascript" srcc="js/locale/easyui-lang-zh_CN.js"></script>

        <script type="text/javascript">

            function toAdd(){

            var url = 'add.jsp';

    $('#win').window({

    width : 700,//宽度

    height : 550,//高度

    title : '新增',

    href : url

    });

    $('#win').window('open');//打开窗体

            }

            

            function toEdit(){

            //获取选中的行

            var row = $('#dg').datagrid('getSelected');

            //判断是否选中

            if(! row) {

            $.messager.alert("提示", "请选要修改的数据", "info");

            } else {

            var url = 'edit.jsp';

        $('#win').window({

        width : 700,//宽度

        height : 550,//高度

        title : '修改',

        href : url

        });

        $('#win').window('open');//打开窗体

            }

            }

            

            function doDelete(){

            //获取选中的行

            var row = $('#dg').datagrid('getSelected');

            //判断是否选中

            if(! row) {

            $.messager.alert("提示", "请选要删除的数据", "info");

            } else {

                //实现删除功能

            }

            }

            

            function clsWin(){

            $('#win').window('close');

            }

        </script>

    </head>

    <body>

        <table id="dg" class="easyui-datagrid" title="游戏管理模块" 

            style="width:1000px;height:450px"

data-options="singleSelect:true,collapsible:true,

url:'gm/ldAllAc.action',method:'get',pagination:true,

pageList:[3,5,7,10,15],pageSize:5,toolbar:'#tb'">

<thead>

<tr>

<th data-options="field:'id',width:80">游戏ID</th>

<th data-options="field:'gname',width:100">游戏名称</th>

<th data-options="field:'gtype',width:80,align:'right'">游戏类型</th>

<th data-options="field:'gcomp',width:80,align:'right'">游戏公司</th>

<th data-options="field:'gyear',width:250">游戏年份</th>

</tr>

</thead>

</table>

<!-- 工具栏 -->

<div id="tb" style="padding:5px;height:auto">

    <div style="margin-bottom:5px">

        <a hreff="javascript:toAdd();" onclick="toAdd();" class="easyui-linkbutton" 

            iconCls="icon-add" plain="true" title="新增"></a>

<a hreff="javascript:toEdit();" onclick="toEdit();" class="easyui-linkbutton" 

    iconCls="icon-edit" plain="true" title="修改"></a>

<a hreff="javascript:doDelete();" onclick="doDelete();" class="easyui-linkbutton" 

    iconCls="icon-remove" plain="true" title="删除"></a>

    </div>

</div>

<!-- 弹出窗体 -->

<div id="win" class="easyui-window"

data-options="modal:true,closed:true,iconCls:'icon-save', top: 20,

    minimizable: false,maximizable: false,collapsible: false,left: 100">

    </div>  

    </body>

</html>

运行后:




代码例子 END


视频和视频笔记 START



以下效果在eclipse中容易卡,进而看起来像是没效果,但在QQ浏览器中比较有效果:



关于查询到数据库条数的方法 START


关于查询到数据库条数的方法 END









视频和视频笔记 END




struts2框架:分页查询,easyui实现管理模块,查询数据库条数,视频笔记【诗书画唱】的评论 (共 条)

分享到微博请遵守国家法律