ssh学习笔记--简易选课系统的实现思路

这篇博客介绍了如何在SSH环境下搭建开发环境,详细阐述了Hibernate的学习过程,包括配置、映射关系的建立和测试。同时,博主分享了学生选课系统的需求,涉及到双向关系、SQL与HQL的使用,以及图片上传、分页和防止表单重复提交的实现策略。还提到了在实际操作中遇到的问题和解决方案。
摘要由CSDN通过智能技术生成

目录

 

 

环境:eclipse+spring+struts2+hibernate

 

hibernate学习

第一部分环境配置:

 

1.添加hibernate的jar包     lib/required2.添加struts2的jar包     apps/解压一个项目blank/lib3.添加mysql数据库连接驱动4.添加struts2的配置文件struts.xml5.添加hibernate的配置文件hibernate.cfg.xml1. hibernate.cfg.xml

2. model包中,新建一个javabean Student,并且在此包中新建一个xml文件,名字叫  Student.hbn.xml

3. junit测试,add jar junit新建一个test包,包中新建一个class  myapp来测试

4.run as junit即可实现将该student信息插入到表student中

5,数据库表curricula 数据库=========================================学生Student(id,name,pwd,phone,grade,photo)

1.创建javabean

2.建立映射文件(这样配置映射关系比较麻烦)

3.测试程序

4.用注解方式配置映射关系(方便,推荐)

几个概念

多表关联查询:select 图书名称,名称 ,价格 from 图书表,图书类别表 where 图书表.类别=图书类别表.id

学生选课系统项目需求:

双向关系和单向关系

sql与hqlsql:查找数据库记录hql:hibernate query language 查找对象 

4.$.ajax({});//默认是异步的,需要设置属性 async:"false",此时同步

用户图片上传到服务器:    思路:    1\表单 input type="file" name="image"    2\action 三个成员:    File image;(含图片的全路径)    String fileContentType    string imageFileName(   xxx.jpg)    3\生成唯一图片名称    uploadfiles\年\月\日\hour+second+millisecond    图片更新:    检测前台是否传来新图片    旧图片删除(判断旧图片是否存在,若存在就删除)

犯下的错:注解应该放到get前面,不要放到set前面,会报错的

分页:

防止表单重复提交:

学生与课程间的多对多关系


 

环境:eclipse+spring+struts2+hibernate

 

hibernate学习

第一部分环境配置:

 

 

  • 1.添加hibernate的jar包     lib/required

  • 2.添加struts2的jar包     apps/解压一个项目blank/lib

  • 3.添加mysql数据库连接驱动

  • 4.添加struts2的配置文件struts.xml

  • 5.添加hibernate的配置文件hibernate.cfg.xml

1. 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 >
        <!-- Database connection settings -->
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="connection.url">jdbc:mysql://localhost:3306/curricula</property>
        <property name="connection.username">root</property>
        <property name="connection.password">root</property>
        <property name="show_sql">true</property>
        <!-- JDBC connection pool (use the built-in) -->
        <property name="connection.pool_size">1</property>

        <!-- SQL dialect 指定与数据库打交道的语句类型-->
        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>

        <!-- Drop and re-create the database schema on startup -->
        <property name="hbm2ddl.auto">update</property>

      
        
    </session-factory>
</hibernate-configuration>

2. model包中,新建一个javabean Student,并且在此包中新建一个xml文件,名字叫  Student.hbn.xml

该文件配置如下(配置的是一个数据表student):
 

<?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 package="model">
<!-- table 可省略,默认是类名 -->
<class name="Student" table="student">
    <id name="id" column="id">
                <generator class="native"/><!-- native相当于自增长 -->
    </id>
         <property name="name" column="name" type="string" length="20"></property>
         <property name="pwd"  column="pwd" type="string" length="50"></property>
         <property name="phone"  column="phone" type="string" length="50"></property>
         <property name="grade"  column="grade" type="string" length="50"></property>
         <property name="photo" type="string" length="150"></property>
    </class>
</hibernate-mapping>


3. junit测试,add jar junit
新建一个test包,包中新建一个class  myapp来测试

myapp 类代码如下:

public class MyApp {
    @Test
public void testSave()
{

    Session session=HibernateUtil.openSession();
    Student student=new Student();
    student.setName("张三");
    student.setPwd("123456778");
    student.setGrade("greade1");
    student.setPhone("17863110675");
    Transaction tx=session.beginTransaction();
    session.save(student);
    tx.commit();
    
}
}


4.run as junit即可实现将该student信息插入到表student中

 

5,数据库表
curricula 数据库
======&#

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
系统的主要功能需求是对学生选课信息进行管理,对于要进行选课的学生进行选课操作,同时记录学生所选课的信息。如果对所选的课程不满意可以进行退课操作。学生如果想要对自己信息进行查看,可以登录后进行查看,如遇到修改信息,学生信息管理和系统管理可以对学生的信息进行修改,以便管理人员和用户可以随时查到最新的信息,同时,可以随时对需要的信息进行维护和更新。 经过对学校选课情况的分析,选课管理系统应该具有下列功能需求: 1、记录学生基本信息,提供查看、修改、删除学生基本信息的功能。学生基本信息包括学号、姓名等。 2、维护课程信息,提供查看、修改、删除课程基本信息的功能。课程信息包括id,课程名,学时,课程简要说明,上课教师等。 3、维护教师信息,提供修改,删除教师基本信息的功能。教师的基本信息ID,教师名,email,职称,年龄等。 4、制定选修课课表,根据学生的课程,时间的安排进行课表的制定。 5、维护学生选选修的课程信息。能够在选课的时间范围内可以进行退课操作,选课时间结束,系统不再能够访问。 6、录入课程分数,提供查看、修改,删除课程分数的功能。 2.1.2 用户及相关操作 系统有三种用户,分别为系统管理员、教师、学生,他们能够执行的操作不同,每种用户能执行的操作如下。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值