• 用户模块 之 完成查询所有用户


    分析查询所有用户

    初始时,

    初始时welcome.jsp首页数据统计显示的代码,其数字都是写固定的:

     <div carousel-item="">
                                        <ul class="layui-row layui-col-space10 layui-this">
                                            <li class="layui-col-xs2">
                                                <a href="javascript:;" class="x-admin-backlog-body">
                                                    <h3>用户数</h3>
                                                    <p>
                                                        <cite>66</cite></p>
                                                </a>
                                            </li>
                                            <li class="layui-col-xs2">
                                                <a href="javascript:;" class="x-admin-backlog-body">
                                                    <h3>帖子数</h3>
                                                    <p>
                                                        <cite>12</cite></p>
                                                </a>
                                            </li>
                                            <li class="layui-col-xs2">
                                                <a href="javascript:;" class="x-admin-backlog-body">
                                                    <h3>回复数</h3>
                                                    <p>
                                                        <cite>99</cite></p>
                                                </a>
                                            </li>
                                            <li class="layui-col-xs2">
                                                <a href="javascript:;" class="x-admin-backlog-body">
                                                    <h3>点赞数</h3>
                                                    <p>
                                                        <cite>67</cite></p>
                                                </a>
                                            </li>
                                          
                                           
                                        </ul>
                                    </div>

    数据库:

    需要分别从这四个表中获取,接下来进行分析如何从数据库中获取数据:

    书写查询所有用户的代码

    在GetDataAction.java进行封装userService:

    private UserService userService;
    
    
    Integer userCount = userService.getAllUser();
            ActionContext.getContext().put("userCount", userCount);
    
    
    public UserService getUserService() {
            return userService;
        }
    
    
        public void setUserService(UserService userService) {
            this.userService = userService;
        }

    在service层创建UserService.java类,并引入getAllUser():

    package com.guiyan.service;
    
    import com.guiyan.dao.UserDao;
    
    public class UserService {
        
        private UserDao userDao;
    
        public Integer getAllUser() {
            
            return userDao.getAllUser();
        }
    
        public UserDao getUserDao() {
            return userDao;
        }
    
        public void setUserDao(UserDao userDao) {
            this.userDao = userDao;
        }
        
        
    
    }

    在dao层创建UserDao.java类,在该类中写入其sql语句:

    package com.guiyan.dao;
    
    import java.math.BigInteger;
    
    import org.hibernate.Session;
    import org.hibernate.query.NativeQuery;
    import org.springframework.orm.hibernate5.support.HibernateDaoSupport;
    
    public class UserDao extends HibernateDaoSupport {
    
        public Integer getAllUser() {
            
            Session session = getHibernateTemplate().getSessionFactory().getCurrentSession();
            String sql = "select count(*) from user";
            NativeQuery query = session.createSQLQuery(sql);
            BigInteger result = (BigInteger) query.uniqueResult();//需要BigInteger类型
            return result.intValue();
        }
    
    }

    在页面显示中进行获取到的数据的显示:welcom.jsp

    <li class="layui-col-xs2">
                                                <a href="javascript:;" class="x-admin-backlog-body">
                                                    <h3>用户数</h3>
                                                    <p>
                                                        <cite> <s:property value="userCount"/> </cite>
                                                    </p>
                                                </a>
                                            </li>

    当在此时运行该项目的时候,出现的问题:

    出现该原因是因为没有进行注入:

    在applicationContext.xml进行注入:

    <!-- 配置Action -->
        <bean name="getDataAction" class="com.guiyan.web.GetDataAction" scope="prototype">
        <property name="userService" ref="userService"></property>
        </bean>
        
         
         <!-- 配置service -->
         <bean name="userService" class="com.guiyan.service.UserService">
            <property name="userDao" ref="userDao"></property>
        </bean>
        
        
        
        <!-- 配置Dao -->
        <bean name="userDao" class="com.guiyan.dao.UserDao">
            <property name="sessionFactory" ref="sessionFactory"></property>
        </bean>
        

    数据库中的用户数:

    页面通过数据库显示的效果:

  • 相关阅读:
    C#读取Excel文档
    用DataSet方式更新数据库表
    using(){},Close(),Dispose()的区别
    ADO.NET连接数据库的两种方式
    DateUtils
    GoF的23个经典设计模式
    react中需要用到【深度复制】的问题
    css区分ie8/ie9/ie10/ie11 chrome firefox的代码
    【个人学习笔记】走近H5
    【React入门实例(运行于浏览器duan)】
  • 原文地址:https://www.cnblogs.com/jiguiyan/p/10873764.html
Copyright © 2020-2023  润新知