美文网首页
Web应用使用Hibernate

Web应用使用Hibernate

作者: 小格zZZ | 来源:发表于2018-12-04 14:23 被阅读0次

    对于创建Web应用程序,使用Hibernate创建一个Web应用程序——使用Jsp表示逻辑层,使用Bean类表示数据,以及使用Dao类操作数据库。

    创建项目

    创建的Web项目模拟用户注册,输入账户名、密码和邮箱的页面。


    • 创建一个表account,用于存储注册信息
    CREATE TABLE ACCOUNT(
        id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
        name VARCHAR(255) NOT NULL,
        pwd VARCHAR(255) NOT NULL,
        email VARCHAR(255) NOT NULL);
    
    • 新建项目

      创建项目的时候勾选Web以及Hibernate 勾选Web Application 勾选Hibernate框架
    • 创建bean类
    package bean;
    public class Account {
        private int id;
        private String name;
        private String pwd;
        private String email;
        // 省略get和set方法
    }
    
    • 创建dao类
    public class AccountDao {
        public static int save(Account account){
            int i=0;
            final StandardServiceRegistry registry = new StandardServiceRegistryBuilder()
                  .configure("hiberbate.cfg.xml").build();
            SessionFactory sessionFactory = new MetadataSources(registry).buildMetadata()
                  .buildSessionFactory();
            Session session = sessionFactory.openSession();
            Transaction transaction = session.beginTransaction();
            i = (int) session.save(account);
            transaction.commit();
            session.close();
            System.out.println(account.getName() + "注册成功");
            return i;
        }
    }
    
    • 创建实体类映射文件
    <hibernate-mapping>
        <class name="bean.Account" table="account">
            <id name="id">
                <generator class="increment"></generator>
            </id>
            <property name="name"></property>
            <property name="pwd"></property>
            <property name="email"></property>
        </class>
    </hibernate-mapping>
    
    • 修改配置文件
    <hibernate-configuration>
        <session-factory>
            <!--数据库连接参数-->
            <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
            <property name="connection.url">jdbc:mysql://localhost/test?serverTimezone=GMT%2B8</property>
            <property name="connection.username">root</property>
            <property name="connection.password">12345</property>
            <!--声明数据库方言-->
            <property name="dialect">org.hibernate.dialect.MySQL8Dialect</property>
            <!--是否显示HQL-->
            <property name="show_sql">true</property>
            <!--导入实体类映射文件-->
            <mapping resource="account.hbm.xml"/>
        </session-factory>
    </hibernate-configuration>
    
    • 创建注册过程页面register.jsp
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%@ page import="dao.AccountDao" %>
    <jsp:useBean id="account" class="bean.Account"/>
    <jsp:setProperty name="account" property="*"/>
    <%
        int i = AccountDao.save(account);
        if (i>0){
            out.print("注册成功!!!");
        }
    %>
    
    • 创建主页面index.jsp
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
      <head>
        <title>用户注册表单</title>
      </head>
      <body>
        <form action="register.jsp" method="post">
          <h2>用户注册表单</h2>
          <hr/>
          Name:<input type="text" name="name"/><br>
          <br/>Password:<input type="password" name="pwd"/><br>
          <br/>Email:<input type="email" name="email"/><br>
          <br/><input type="submit" value="注册"/>
        </form>
      </body>
    </html>
    

    运行结果

    主页面填写注册信息 index.jsp 注册成功回显 register.jsp 控制台输出 控制台 数据库查询结果 数据库查询

    相关文章

      网友评论

          本文标题:Web应用使用Hibernate

          本文链接:https://www.haomeiwen.com/subject/ffapcqtx.html