首页 > 代码库 > jsp页面如何遍历数据库的表

jsp页面如何遍历数据库的表

本人为初学者,以下是本菜鸟在实际运用时的记录,大神可以跳过,当然也欢迎指点一二

  • 从JSP页面开始讲起,在此用的是
<s:iterator var="word" value="http://www.mamicode.com/#wordList>//其中wordList是与Action中context.put("wordList", wordList);里的list集合相对应的,list装的是数据库东西,word只是个变量名
    <s:property value="http://www.mamicode.com/#word.details"/>//用<s:property取出wordList元素中的details属性,  即数据库中的details字段                      
</s:iterator>
  • 现在来到action

private String time;
private String details;


public String getTime() {
  return time;
}

public void setTime(String time) {
  this.time = time;
}

public String getDetails() {
  return details;
}

public void setDetails(String details) {
  this.details = details;
}

 

public String showWordList()throws Exception{
  ActionContext context=ActionContext.getContext();

  List<Word> wordList=WordDao.getWordList();//List集合接收的是从Dao层传来的数据库内容
  context.put("wordList", wordList);

  return "word";
}

  • 然后就是Dao层
public static List<Word> getWordList()
    {
        Session session=HibernateSessionFactory.getSession();
        try {
            
            Criteria criteria=session.createCriteria(Word.class);
            
            List<Word> word=criteria.list();//获取数据库里的表装到List集合中
            
            session.close();
            return word;//返回list集合
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
  • 接着就是model层
public class Word implements java.io.Serializable{

    private static final long serialVersionUID = 1L;
    
    private Integer id;
    
    private String time;
    
    private String details;
    
    public Word() {
    }
    //重载构造方法
    public Word(String time, String details) {
        this.time = time;
        this.details = details;
    }
...下面省略各个成员的set,get方法
}

现在是hbm.xml,与hibernate.cfg.xml相关文件的配置

//以下是hbm.xml
<hibernate-mapping>
    <!-- 映射数据库的word表 -->
    <class name="com.model.Word" table="word" catalog="se">
        <!-- 映射id字段 -->
        <id name="id" type="java.lang.Integer">
            <column name="id" />
            <generator class="identity" />
        </id>
        <!-- 映射name字段 -->
        <property name="time" type="java.lang.String">
            <column name="time" length="30" not-null="true" />
        </property>
        <!-- 映射pwd字段 -->
        <property name="details" type="java.lang.String">
            <column name="details" length="2000" not-null="true" />
        </property>
    </class>
</hibernate-mapping>
//以下是cfg.xml
<hibernate-configuration>
<session-factory>
    <property name="dialect">
        org.hibernate.dialect.MySQLDialect
    </property>
    <!-- 链接地址 -->
    <property name="connection.url">
        jdbc:mysql://localhost:3306/se?useUnicode=true&amp;characterEncoding=UTF-8
    </property>
    <!-- 数据库user -->
    <property name="connection.username">root</property>
    <!-- 数据库user密码 -->
    <property name="connection.password">root</property>
    <!-- 连接driver -->
    <property name="connection.driver_class">
        com.mysql.jdbc.Driver
    </property>
    <property name="myeclipse.connection.profile">
        com.mysql.jdbc.Driver
    </property>
    <property name="show_sql">true</property>
    <property name="format_sql">true</property>
    <!-- 映射文件 -->
    <mapping resource="com/model/Word.hbm.xml" />
</session-factory>
</hibernate-configuration>
  • 接着是struts.xml的配置
<action name="wordpage" class="com.action.WordAction">
            <result name="word">/user/word.jsp</result>
</action>

 

jsp页面如何遍历数据库的表