• 使用Struts+Hibernate开发学生信息管理系统


    1、项目组织结构

    2、web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" 
    	xmlns="http://java.sun.com/xml/ns/javaee" 
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
      <display-name>StructDemo</display-name>	
      
      <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.jsp</welcome-file>
      </welcome-file-list>
    </web-app>
    

    3、hibernate.cfg.xml

    <!DOCTYPE hibernate-configuration PUBLIC
    	"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    	"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
    
    <hibernate-configuration>
    <session-factory>
    	<property name="connection.username">root</property>
    	<property name="connection.password">mysql</property>
    	<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
    	<property name="connection.url">jdbc:mysql:///test?useUnicode=true&characterEncoding=UTF-8</property>
    	<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
    	<property name="show_sql">true</property>
    	<property name="format_sql">true</property>
    	<property name="hbm2ddl.auto">update</property>
    	<property name="hibernate.current_session_context_class">thread</property>
    
    
    	<mapping resource="com/qixin/entity/Users.hbm.xml"/>
    	<mapping resource="com/qixin/entity/Student.hbm.xml"/>
    </session-factory>
    </hibernate-configuration>
    

    4、Student.java

    package com.qixin.entity;
    
    import java.util.Date;
    
    public class Students {
    	
    	private String sid;
    	private String sname;
    	private String gender;
    	private Date birthday;
    	private String address;
    	
    	public Students() {
    	}
    
    	public Students(String sid, String sname, String gender, Date birthday, String address) {
    //		super();
    		this.sid = sid;
    		this.sname = sname;
    		this.gender = gender;
    		this.birthday = birthday;
    		this.address = address;
    	}
    
    	public String getSid() {
    		return sid;
    	}
    
    	public void setSid(String sid) {
    		this.sid = sid;
    	}
    
    	public String getSname() {
    		return sname;
    	}
    
    	public void setSname(String sname) {
    		this.sname = sname;
    	}
    
    	public String getGender() {
    		return gender;
    	}
    
    	public void setGender(String gender) {
    		this.gender = gender;
    	}
    
    	public Date getBirthday() {
    		return birthday;
    	}
    
    	public void setBirthday(Date birthday) {
    		this.birthday = birthday;
    	}
    
    	
    	public String getAddress() {
    		return address;
    	}
    
    	public void setAddress(String address) {
    		this.address = address;
    	}
    
    	@Override
    	public String toString() {
    		return "Students [sid=" + sid + ", sname=" + sname + ", gender="
    				+ gender + ", birthday=" + birthday + ", address=" + address
    				+ "]";
    	}
    
    }
    

    5、Users.java

    package com.qixin.entity;
    
    public class Users {
    	
    	private int uid;
    	private String username;
    	private String password;
    	
    	public Users() {
    	}
    	
    	public Users(int uid, String username, String password) {
    //		super();
    		this.uid = uid;
    		this.username = username;
    		this.password = password;
    	}
    
    
    	public int getUid() {
    		return uid;
    	}
    	public void setUid(int uid) {
    		this.uid = uid;
    	}
    	public String getUsername() {
    		return username;
    	}
    	public void setUsername(String username) {
    		this.username = username;
    	}
    	public String getPassword() {
    		return password;
    	}
    	public void setPassword(String password) {
    		this.password = password;
    	}
    	
    	
    
    }
    

    6、Student.hbm.xml

    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
            "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
            "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
    
    <hibernate-mapping>
    
        <class name="com.qixin.entity.Students" table="STUDENTS">
    
            <id name="sid" type="java.lang.String" length="8">
                <generator class="assigned"/>
            </id>
            <property name="sname" type="java.lang.String"/>
            <property name="gender" type="java.lang.String"/>
            <property name="birthday" type="date"/>
            <property name="address" type="java.lang.String"/>
    
        </class>
    
    </hibernate-mapping>
    

    7、Users.hbm.xml  

    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
            "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
            "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
    
    <hibernate-mapping>
    
        <class name="com.qixin.entity.Users" table="USERS">
    
            <id name="uid" type="int">
                <generator class="native"/>
            </id>
            <property name="username" type="java.lang.String"/>
            <property name="password" type="java.lang.String"/>
    
        </class>
    
    </hibernate-mapping>
    

    8、JUnit4 测试类 TestStudents.java

    package com.qixin.entity;
    
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.cfg.Configuration;
    import org.hibernate.service.ServiceRegistry;
    import org.hibernate.service.ServiceRegistryBuilder;
    import org.hibernate.tool.hbm2ddl.SchemaExport;
    import org.junit.Test;
    
    public class TestStudents {
    	
    	@Test
    	public void testSchemaExport(){
    		//创建配置对象
    		Configuration config = new Configuration().configure();
    		//创建服务对象
    		ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();
    		//创建sessionFactory
    		SessionFactory sessionFactory = config.buildSessionFactory(serviceRegistry);
    		//创建session对象
    		Session session = sessionFactory.getCurrentSession();
    		//创建SchemaExport对象
    		SchemaExport export = new SchemaExport(config);
    		export.create(true, true);
    	}
    
    }
    

      运行成功后自动在MySQL中生成students和users表

      

      

      

  • 相关阅读:
    C#中虚方法与抽象方法的区别
    关于计算同一个用户购买日期间隔查询语句
    pandas 讲数据分组之后保留前N行方法
    关于Mysql隐式转化及注意事项与cast函数运用
    Mysql 去重
    记一个pandas 分组之后.head()返回的数据问题
    Failed to introspect Class xxxx
    golang 推荐学习记录
    Java内存区域
    Struts2中采用Json返回List对象数据为空解决方案
  • 原文地址:https://www.cnblogs.com/qixin622/p/6065878.html
Copyright © 2020-2023  润新知