精华内容
下载资源
问答
  • 学生信息增删改查

    2013-12-18 15:49:14
    用VC实现学生信息管理系统 ,实现数据的结构化存储及可视化界面的完成。
  • VS2019 C# MySQL 学生信息增删改查(一、增删)

    千次阅读 多人点赞 2020-10-24 10:17:50
    VS2019 C# MySQL 学生信息增删改查 由于刚刚学习VS2019,入手的第一个例子是编写一个简单的增删改查。这里,我以学生信息为例,进行详细的过程描述以及代码实现。 一、 新建一个Windows窗体应用程序 1、创建新项目...

    VS2019 C# MySQL 学生信息增删改查

    由于刚刚学习VS2019,入手的第一个例子是编写一个简单的增删改查。这里,我以学生信息为例,进行详细的过程描述以及代码实现。
    

    一、 新建一个Windows窗体应用程序

    1、创建新项目界面,如下图所示。
    在这里插入图片描述
    2、更改项目名称,当然不修改也可以。我这里的是“StudentInfoSystem”;项目存放位置路径根据自己需要进行更改;“将解决方案和项目放在同一目录中”前面的勾选框,选不选都可以;点击“创建”,如下图所示。
    在这里插入图片描述
    二、前期准备工作

    1、将Form1属性中的Text的“Form1”改为“学生管理系统首页”,并从工具箱中拖入4个Button按钮放在设计界面上,如下图所示。分别将“button1”、“button2”、“button3”、“button4”属性中的(Name)改为“BtnZeng”、“BtnShan”、“BtnGai”、“BtnCha”,并分别将其属性中的Text改为“增加”、“删除”、“修改”、“查看”。
    在这里插入图片描述
    在这里插入图片描述
    2、(1)鼠标选中“StudentInfoSystem”,右击选中“添加”,找到“窗体(Windows窗体)”,如下图所示。
    在这里插入图片描述
    (2)增加4个Form设计界面,分别将其属性中的(Name)改为FormZengJia、FormShanChu、FormXiuGai、FormChaKan,并分别修改其属性Text为“增加”、“删除”、“修改”、“查看”,如下图所示。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    3、分别双击增加、删除、修改、查看四个按钮,将4个设计界面连接到主界面上,添加代码,如下。

    public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void BtnZeng_Click(object sender, EventArgs e)
            {
                FormZengJia zengJia = new FormZengJia();
                zengJia.Show();
            }
            private void BtnShan_Click(object sender, EventArgs e)
            {
                FormShanChu shanChu = new FormShanChu();
                shanChu.Show();
            }
            private void BtnGai_Click(object sender, EventArgs e)
            {
                FormXiuGai xiuGai = new FormXiuGai();
                xiuGai.Show();
            }
            private void BtnCha_Click(object sender, EventArgs e)
            {
                FormChaKan chaKan = new FormChaKan();
                chaKan.Show();
            }
        }
    

    三、建立数据库

    我用的是MySQL。

    1、新建数据库,如下图所示。
    在这里插入图片描述
    2、数据库表设计,如下图所示。
    在这里插入图片描述
    四、增

    1、在FormZengJia界面中拖入控件,如下图所示。
    在这里插入图片描述
    2、修改TextBox以及Button中的相应属性,如下图所示。
    在这里插入图片描述
    3、双击“增加一条记录”按钮,进入代码界面,首先的工作就是引入,右击“引用”,选择“添加引用 | 浏览”,找到自己安装MySQL文件中的“MySql.Data.dll”,如下图所示。
    在这里插入图片描述

    在这里插入图片描述
    4、在头文件中将“using MySql.Data.MySqlClient;”引入进来,如下。

    using MySql.Data.MySqlClient;
    

    5、代码如下:

    private void BtnZeng_Click(object sender, EventArgs e)
            {
                String connectStr = "server=localhost;database=studentinfosystem;user=root;password=123456;port=3306;charset=utf8";
                //server=127.0.0.1或localhost。database是我的数据库名,studentinfosystem是新建的数据库名。
                //我这里的user是root,密码是123456(安装MySQl时自己设置的密码)。端口号port一般都是3306。
                //charset字符集一定要加,不加的话,虽然连接成功,但如果含有中文,就显示不了中文内容。
                MySqlConnection conn = new MySqlConnection(connectStr);
                conn.Open();//打开通道,建立连接
    
                //下面主要就是条件判断
                if (tbno.Text == "")
                {
                    MessageBox.Show("学号不能为空");
                }
                else if (tbname.Text == "")
                {
                    MessageBox.Show("姓名不能为空");
                }
                else if (tbno.Text != "" && tbname.Text != "")
                {
                    string str = "";
                    if (tbdept.Text.Trim().Length == 0 && tbbirth.Text.Trim().Length == 0)
                    {
                        str = "insert into info(学号,姓名) values('" + tbno.Text + "','" + tbname.Text + "')";//info是数据库表名
                    }
                    else if (tbdept.Text.Trim().Length == 0 && tbbirth.Text.Trim().Length > 0)
                    {
                        str = "insert into info(学号,姓名,出生日期) values('" + tbno.Text + "','" + tbname.Text + "','" + tbbirth.Text + "')";
                    }
                    else if (tbdept.Text.Trim().Length > 0 && tbbirth.Text.Trim().Length == 0)
                    {
                        str = "insert into info(学号,姓名,专业) values('" + tbno.Text + "','" + tbname.Text + "','" + tbdept.Text + "')";
                    }
                    else if (tbdept.Text.Trim().Length > 0 && tbbirth.Text.Trim().Length > 0)
                    {
                        str = "insert into info(学号,姓名,专业,出生日期) values('" + tbno.Text + "','" + tbname.Text + "','" + tbdept.Text + "','" + tbbirth.Text + "')";
                    }
    
                    try
                    {
                        MySqlCommand cmd = new MySqlCommand(str, conn);
                        cmd.ExecuteNonQuery();
                    }
                    catch (MySqlException ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
    
                    int s = 1;
                    if (s == 1)
                    {
                        MessageBox.Show("成功增加一条记录");
                        tbno.Clear();
                        tbname.Clear();
                        tbdept.Clear();
                        tbbirth.Clear();//清空TextBox中的数据
                    }
                }
                conn.Close();
            }
    

    6、点击“启动”,添加一条记录看看效果,显示“成功增加一条记录”,回到数据库表中,刷新一下,发现刚刚添加的记录已经成功保存到数据库表中了,如下图所示。
    在这里插入图片描述
    在这里插入图片描述
    五、删

    1、在FormShanChu界面中拖入控件,更改相应的属性,如下图所示。
    在这里插入图片描述
    2、双击“删除一条记录”按钮,进入代码界面,在头文件中将“using MySql.Data.MySqlClient;”引入进来。

    3、代码如下:

    private void BtnDelete_Click(object sender, EventArgs e)
            {
                String connectStr = "server=localhost;database=studentinfosystem;user=root;password=123456;port=3306;charset=utf8";
                //server=127.0.0.1或localhost。database是我的数据库名,studentinfosystem是新建的数据库名。
                //我这里的user是root,密码是123456(安装MySQl时自己设置的密码)。端口号port一般都是3306。
                //charset字符集一定要加,不加的话,虽然连接成功,但如果含有中文,就显示不了中文内容。
                MySqlConnection conn = new MySqlConnection(connectStr);
                conn.Open();//打开通道,建立连接
    
                //下面主要是条件判断
                string str = "";
                if (tbno.Text.Trim().Length == 0 && tbname.Text.Trim().Length == 0)
                {
                    MessageBox.Show("请输入要删除的学号或姓名!");
                }
                else if (tbno.Text.Trim().Length > 0 && tbname.Text.Trim().Length == 0)
                {
                    str = "delete from info where 学号='" + tbno.Text + "'";//按“学号”删除
                }
                else if (tbno.Text.Trim().Length == 0 && tbname.Text.Trim().Length > 0)
                {
                    str = "delete from info where 姓名='" + tbname.Text + "'";//按“姓名”删除
                }
                else if (tbno.Text.Trim().Length > 0 && tbname.Text.Trim().Length > 0)
                {
                    str = "delete from info where 学号='" + tbno.Text + "'and 姓名='" + tbname.Text + "'";//按“学号+姓名”删除
                }
    
                try
                {
                    MySqlCommand cmd = new MySqlCommand(str, conn);
                    cmd.ExecuteNonQuery();
                }
                catch (MySqlException ex)
                {
                    MessageBox.Show(ex.Message);
                }
    
                int s = 1;
                if (s == 1)
                {
                    MessageBox.Show("删除成功");
                    tbno.Clear();
                    tbname.Clear();//清空
                }
                conn.Close();
            }
    

    4、点击“启动”,删除一条记录看看效果,显示“删除成功”,回到数据库表中,刷新一下,发现刚刚删除的记录已经成功删除,如下图所示。
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • java大作业,实现学生信息增删改查

    热门讨论 2013-08-01 19:09:22
    编写Web应用程序(JavaEE平台上的应用,能够运行在Tomcat服务器上),实现学生信息增删改查。 在Web页面上实现添加一个学生记录,删除某个学生记录,修改某个学生记录,和按照姓名,学号进行查询。 要求列表输出...
  • Java制作学生管理系统,实现学生信息增删改查

    万次阅读 多人点赞 2019-05-23 00:51:11
    1.将学生信息(学号,姓名,成绩)保存在集合中(可以先保存一部分,再添加新的;也可以后面录入。 2.在控制台输入指令,系统可以对学生信息进行基本的增加、删除、修改、查询、对成绩进行排序然后输出 3.像C语言...

    技术要求
    1.将学生信息(学号,姓名,成绩)保存在集合中(可以先保存一部分,再添加新的;也可以后面录入。
    2.在控制台输入指令,系统可以对学生信息进行基本的增加、删除、修改、查询、对成绩进行排序然后输出
    3.像C语言题库里面的那种菜单式的系统,如输入1进行…操作,输入2进行…操作
    4.注意代码风格,命名规范,写上注释

    package StudentJavaSE;
    public class Student {
        // 学号
        private String id;
        // 姓名
        private String name;
        // 分数
        private String score;
        public Student() {
        }
        public Student(String id, String name, String score)
        {
            this.id = id;
            this.name = name;
            this.score = score;
        }
        public String getId() {
            return id;
        }
        public void setId(String id) {
            this.id = id;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getScore() {
            return score;
        }
        public void setScore(String score) {
            this.score = score;
        }
    }
    
    //把Student类 ,StudentManagement保存,方便的调用。
    package StudentJavaSE;
    //通过 Scanner 类来获取用户的输入
    import java.util.Scanner;
    //创一个列表,用来存放其它java对象的,只要是java对象就可以往ArrayList里面放
    import java.util.ArrayList;
    //Collections类提供了一些操作集合的方法
    import java.util.Collections;
    //利用comparator能实现排序功能
    import java.util.Comparator;
    public class StudentAdmin {
        //主方法
        public static void main(String[] args) {
            // 创建集合对象,用于存储学生数据
            ArrayList<Student> list = new ArrayList<Student>();
            // 使用循环让程序回到此处
            while (true) {
                // 这是学生管理系统的主界面
                System.out.println("--------欢迎来到学生管理系统--------");
                System.out.println("1 查看所有学生");
                System.out.println("2 添加学生");
                System.out.println("3 删除学生");
                System.out.println("4 修改学生");
                System.out.println("5 按成绩降序查看所有学生");
                System.out.println("6 退出学生管理系统");
                System.out.println("请输入你的选择:");
                // 创建键盘录入对象Scanner
                Scanner sc = new Scanner(System.in);
                //snextLine()扫描此行输入所有字符串直到遇到回车为止
                String choiceString = sc.nextLine();
                // 用switch语句实现选择
                switch (choiceString) {
                    case "1":
                        // 调用查看所有学生的函数
                        findAllStudent(list);
                        break;
                    case "2":
                        // 添加学生
                        addStudent(list);
                        break;
                    case "3":
                        // 删除学生
                        deleteStudent(list);
                        break;
                    case "4":
                        // 修改学生
                        updateStudent(list);
                        break;
                    case "5":
                        // 按照分数排序查询
                        orderByScore(list);
                        break;
                    case "6":
                         //退出
                         System.out.println("谢谢你的使用");
                         break;
    
                    default:
                        System.out.println("你乱按了键盘莫得这个功能");
    //                    System.exit(0); // JVM退出
                        break;
                }
            }
        }
        /*
         * 修改学生的方法 修改学生的思路:键盘录入一个学号,到集合中去查找,看是否有学生使用的是该学号,如果有就修改该学生
         */
        public static void updateStudent(ArrayList<Student> list) {
            // 创建键盘录入对象
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入你要修改的学生的学号:");
            String id = sc.nextLine();
            // 定义一个索引
            int index = -1;
            // 遍历集合
            for (int x = 0; x < list.size(); x++) {
                // 获取每一个学生对象
                Student s = list.get(x);
                // 拿学生对象的学号和键盘录入的学号进行比较
                if (s.getId().equals(id)) {
                    index = x;
                    break;
                }
            }
            if (index == -1) {
                System.out.println("你要修改的学号对应的学生信息不存在,请回去重新你的选择");
            }
            else {
                System.out.println("请输入学生新姓名:");
                String name = sc.nextLine();
                System.out.println("请输入学生新成绩:");
                String score = sc.nextLine();
                // 创建学生对象
                Student s = new Student();
                s.setId(id);
                s.setName(name);
                s.setScore(score);
                // 修改集合中的学生对象
                list.set(index, s);
                // 给出提示
                System.out.println("修改学生成功");
            }
        }
        /*
         * 删除学生的方法 删除学生的思路:键盘录入一个学号,到集合中去查找,看是否有学生使用的是该学号,如果有就删除该学生
         */
        public static void deleteStudent(ArrayList<Student> list) {
            // 创建键盘录入对象
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入你要删除的学生的学号:");
            String id = sc.nextLine();
            // 我们必须给出学号不存在的时候的提示
            // 定义一个索引
            int index = -1;
            // 遍历集合
            for (int x = 0; x < list.size(); x++) {
                // 获取到每一个学生对象
                Student s = list.get(x);
                // 拿这个学生对象的学号和键盘录入的学号进行比较
                if (s.getId().equals(id)) {
                    index = x;
                    break;
                }
            }
            if (index == -1) {
                System.out.println("不好意思,你要删除的学号对应的学生信息不存在,请回去重新你的选择");
            } else {
                list.remove(index);
                System.out.println("删除学生成功");
            }
        }
        // 添加学生的方法
        public static void addStudent(ArrayList<Student> list) {
            // 创建键盘录入对象
            Scanner sc = new Scanner(System.in);
            // 为了让id能够被访问到,我们就把id定义在了循环的外面
            String id;
            // 为了让代码能够回到这里,用循环
            while (true) {
                System.out.println("请输入学生学号:");
                // String id = sc.nextLine();
                id = sc.nextLine();
                // 判断学号有没有被人占用
                // 定义标记
                boolean flag = false;
                // 遍历集合,得到每一个学生
                for (int x = 0; x < list.size(); x++) {
                    Student s = list.get(x);
                    // 获取该学生的学号,和键盘录入的学号进行比较
                    if (s.getId().equals(id)) {
                        flag = true; // 说明学号被占用了
                        break;
                    }
                }
                if (flag) {
                    System.out.println("你输入的学号已经被占用,请重新输入");
                }
                else {
                    break; // 结束循环
                }
            }
            System.out.println("请输入学生姓名:");
            String name = sc.nextLine();
            System.out.println("请输入学生成绩:");
            String score = sc.nextLine();
            // 创建学生对象
            Student s = new Student();
            s.setId(id);
            s.setName(name);
            s.setScore(score);
            // 把学生对象作为元素添加到集合
            list.add(s);
            // 给出提示
            System.out.println("添加学生成功");
        }
        // 查看所有学生
        public static void findAllStudent(ArrayList<Student> list)
        {
            // 首先来判断集合中是否有数据,如果没有数据,就给出提示,并让该方法不继续往下执行
            if (list.size() == 0) {
                System.out.println("不好意思,目前没有学生信息可供查询,请回去重新选择你的操作");
                return;
            }
            // \t 其实就是一个tab键的位置
            System.out.println("学号\t\t姓名\t成绩");
            for (int x = 0; x < list.size(); x++)
            {
                Student s = list.get(x);
                System.out.println(s.getId() + "\t"+ "\t"+s.getName() + "\t" +"\t"+ s.getScore() );
            }
        }
        // 根据分数排序
        private static void orderByScore(ArrayList<Student> list ) {
            if (list.size() <= 0) {
                System.out.println("数据库为空!!");
                return;
            }
    
            // 克隆副本进行排序,避免对原始数据更改
            ArrayList<Student> cList = (ArrayList<Student>) list.clone();
    
            // 排序按照分数
            Collections.sort(cList, new Comparator<Student>() {
    
                public int compare(Student s1, Student s2) {
                    Double id1 = new Double(s1.getScore());
                    Double id2 = new Double(s2.getScore());
                    Integer result = id1 < id2 ? 1 : id1 > id2 ? -1 : 0;
                    return result;
                }
            });
    
            // 打印输出分数
            System.out.println("学号\t\t姓名\t成绩");
            for (int i = 0; i < cList.size(); i++) {
                Student s = cList.get(i);
                System.out.println(s.getId() + "\t" + "\t" + s.getName() + "\t" + "\t" + s.getScore());
            }
        }}
    

    效果图:
    在这里插入图片描述

    展开全文
  • 小白成长记,不喜勿喷,请多多指教 源代码已上传到github:https://github.com/LazyTraveller/Mycat ...

                              

    源代码已上传到github:https://github.com/LazyTraveller/student_info_system 

     

    展开全文
  • Spring Boot实现学生信息增删改查

    千次阅读 2018-07-07 08:56:00
    上一篇博客写了如何初始化一个简单的Spring Boot项目,这次详细记录一下如何连接数据库并实现增删改查基本操作。 我使用的是MySQL 5.5+Navicat,MySQL量级比较轻,当然微软的SQL Server也挺好的。 1、配置数据源...

    上一篇博客写了如何初始化一个简单的Spring Boot项目,这次详细记录一下如何连接数据库并实现增删改查基本操作。

    我使用的是MySQL 5.5+Navicat,MySQL量级比较轻,当然微软的SQL Server也挺好的。

    1、配置数据源与连接信息

    默认生成的项目会带有一个application.properties供用户来配置相关信息,这里可以将其修改为application.yml,你问为什么?

    yml文件天然树状结构,便于阅读;需要写的东西比properties少得多。

    不足之处就是冒号后面要加空格,否则会报错,而且缩进很严格!!!

    详细信息请阅读下面的参考资料。

    //application.yml
    spring:
        datasource:
            driver-class-name: com.mysql.jdbc.Driver
            url: jdbc:mysql://127.0.0.1:3306/mydbsys
            username: root
            password: 123456
        jpa:
            hibernate:
            ddl-auto: update
            show-sql: true

     

    3306是MySQL的端口,mydbsys是数据库名称,数据库肯定是要存在的,不存在还怎么连接。

    2、在entity中定义Student与Grade对象

    和Java语言很相似,属性、set、get内容写进去就行,有几点JPA的注解要注意一下。

    @ManyToOne指的是多个学生对应一个班级,其他常用注解看参考资料。

    //Grade.java
    package com.studentsys.stusys.entity;
    
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.Id;
    
    @Entity
    public class Grade {
    
        @Id
        @GeneratedValue
        private  Integer GID;
        private String GrandName;
    
        public Grade() {
        }
    
        public Integer getGID() {
            return GID;
        }
    
        public void setGID(Integer GID) {
            this.GID = GID;
        }
    
        public String getGrandName() {
            return GrandName;
        }
    
        public void setGrandName(String grandName) {
            GrandName = grandName;
        }
    }

     

    //Student.java
    package com.studentsys.stusys.entity;
    
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.Id;
    import javax.persistence.ManyToOne;
    
    @Entity
    public class Student {
    
        @Id
        @GeneratedValue
        private  Integer stuID;
        private String name;
        private String phone;
        private String password;
    
        //private Integer GID;
        @ManyToOne
        private  Grade grade;
    
        public Grade getGrade() {
            return grade;
        }
    
        public void setGrade(Grade grade) {
            this.grade = grade;
        }
    
        public Student() {
        }
    
        public Integer getStuID() {
            return stuID;
        }
    
        public void setStuID(Integer stuID) {
            this.stuID = stuID;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getPhone() {
            return phone;
        }
    
        public void setPhone(String phone) {
            this.phone = phone;
        }
    
        public String getPassword() {
            return password;
        }
    
        public void setPassword(String password) {
            this.password = password;
        }
    
        public Student(Integer stuID, String name, String phone, String password) {
            this.stuID = stuID;
            this.name = name;
            this.phone = phone;
            this.password = password;
        }
    }

     

    3、在repository中定义数据访问层,GradeRepository.java和StudentRepository.java。

    继承一下JPA的库就可以,很多东西都已经定义好了,有特殊需要再利用@Override重写父类函数就可以了。

    //GradeRepository.java
    package com.studentsys.stusys.repository;
    
    import com.studentsys.stusys.entity.Grade;
    import org.springframework.data.jpa.repository.JpaRepository;
    
    public interface GradeRepository extends JpaRepository<Grade,Integer> {
    }

     

    //StudentRepository.java
    package com.studentsys.stusys.repository;
    
    import com.studentsys.stusys.entity.Student;
    import org.springframework.data.jpa.repository.JpaRepository;
    
    public interface StudentRepository extends JpaRepository<Student,Integer> {
    }

     4、在service中定义数据服务层及其实现接口

    (别跟我学,一定要把数据服务层接口service和实现接口serviceImpl分开,将项目模块化)

    @Autowired

    //GradeService.java
    package com.studentsys.stusys.service;
    
    import com.studentsys.stusys.entity.Grade;
    
    import java.util.List;
    import java.util.Optional;
    
    public interface GradeService {
    
        List<Grade> getAllGrade();
    
        Optional<Grade> getGradeByID(Integer gid);
    
    }
    //GradeServiceImpl.java
    package com.studentsys.stusys.service;
    
    import com.studentsys.stusys.entity.Grade;
    import com.studentsys.stusys.repository.GradeRepository;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    import java.util.List;
    import java.util.Optional;
    
    @Service
    public class GradeServiceImpl implements GradeService {
    
        @Autowired
        private GradeRepository gradeRepository;
    
        @Override
        public List<Grade> getAllGrade() {
            return gradeRepository.findAll();
        }
    
        @Override
        public Optional<Grade> getGradeByID(Integer gid) {
            return gradeRepository.findById(gid);
        }
    }
    //StudentService.java
    package com.studentsys.stusys.service;
    
    import com.studentsys.stusys.entity.Student;
    
    import java.util.List;
    import java.util.Optional;
    
    public interface StudentService {
    
        List<Student> getAllStudent();
    
        Student addStudent(Student student);
    
        Optional<Student> findByID(Integer id);
    
        Student updateStudent(Student student);
    }
    //StudentServiceImpl.java
    package com.studentsys.stusys.service;
    
    import com.studentsys.stusys.entity.Student;
    import com.studentsys.stusys.repository.StudentRepository;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    import java.util.List;
    import java.util.Optional;
    
    @Service
    public class StudentServiceImpl implements StudentService {
    
        @Autowired
        private StudentRepository studentRepository;
    
        @Override
        public List<Student> getAllStudent() {
            return studentRepository.findAll();
        }
    
        @Override
        public Student addStudent(Student student) {
            return studentRepository.save(student);
        }
    
        @Override
        public Optional<Student>  findByID(Integer id) {
            return studentRepository.findById(id);
    
        }
    
        @Override
        public Student updateStudent(Student student) {
            return studentRepository.save(student);
        }
    }

    5、在controller中定义前端控制器StudentController.java

    //StudentController.java
    package com.studentsys.stusys.cotroller;
    
    import com.studentsys.stusys.entity.Grade;
    import com.studentsys.stusys.entity.Student;
    import com.studentsys.stusys.service.GradeService;
    import com.studentsys.stusys.service.StudentService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.*;
    
    import java.util.List;
    import java.util.Optional;
    
    @RestController
    @RequestMapping("/")
    public class StudentController {
    
        @Autowired
        private StudentService studentService;
    
        @Autowired
        private GradeService gradeService;
        /**
         * 查看所有学生信息
         * @param model
         * @return
         */
        @GetMapping
        public  String index(Model model){
            List<Student> list = studentService.getAllStudent();
            model.addAttribute("stus",list);
            return "index";
        }
    
        /**
         * 添加学生信息功能
         * @param name
         * @param password
         * @param phone
         * @return
         */
        @PostMapping("/add")
        public  String input(Student student){
            Optional<Grade> grade = gradeService.getGradeByID(student.getGrade().getGID()); ;
            student.setGrade(grade.get());
            studentService.addStudent(student);
            return "redirect:/";
        }
        @GetMapping("/ks")
        public String ks(){
            return "KSbaoM";
        }
    
        /**
         * 显示添加页面
         * @return
         */
        @GetMapping("/add")
        public String addPage(Model model){
            model.addAttribute("allGrade",gradeService.getAllGrade());
            return "addstu";
        }
    
        @GetMapping("/update/{id}")
        public String updatePage(@PathVariable("id") Integer id,Model model){
             Optional<Student> student = studentService.findByID(id);
             model.addAttribute("stu",student.get());
             model.addAttribute("allGrade",gradeService.getAllGrade());
            return "updatestu";
        }
    
        /**
         * 修改学生信息
         * @param stuID
         * @param name
         * @param password
         * @param phone
         * @return String
         */
        @PostMapping("/update")
        public String updateData(Student student){
            Optional<Grade> grade = gradeService.getGradeByID(student.getGrade().getGID()); ;
            student.setGrade(grade.get());
            studentService.addStudent(student);
            return "redirect:/";
        }
    
    
    }

    6、在resources中定义相关html页面和资源文件

     懒得写了,这种静态页面找个模版随便改改就ok了,主要是要注意themeleaf的使用。

    Thymeleaf是面向Web和独立环境的现代服务器端Java模板引擎,能够处理HTML,XML,JavaScript,CSS甚至纯文本

    首先在最开始的<html>标签里要这样写<html xmlns:th="http://www.thymeleaf.org">,之后就是有一些标签需要再修改,具体的可以看参考资料。

    参考资料:

    application.properties与application.yml之间的区别

    JPA之常用 基本注解

    (一)Themeleaf用法——Themeleaf简介

    themeleaf基本语法

     

    posted @ 2018-07-07 08:56 朕蹲厕唱忐忑 阅读(...) 评论(...) 编辑 收藏

    展开全文
  • Django学生管理系统(2)(学生信息增删改查)

    千次阅读 热门讨论 2018-05-02 21:50:45
    学生信息增删改查 学生信息相关表格的建立 第一个功能需要进行的是对学生信息的操作,所以我先写好学生表(student) mysql: create table student( id int not null auto-increment, s_name varchar(30...
  • C语言 学生信息增删改查

    千次阅读 2017-06-03 18:31:54
    void output(node *head,long int StudentID0) //输出指定学号的学生信息 { node *p; p=head->next; while(p&&p->StudentID!=StudentID0) p=p->next; gotoxy(20,2); printf("学号为 %ld 的学生所有信息:\n",p->...
  • controller:/** * @author Mystic *学生 */@Controller@RequestMapping("/api/student")public class StudentController { @SuppressWarnings("unused") private static final Logger ...
  • pom.xml文件 &lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="...
  • //根据学生的id获取该学生信息 @Override public Student Findbyid(int sid) { Student student=null; connection = JDBCUtil.conData(connection); String sql = "select * from student where sid=?;"; ...
  • 学生名单管理界面实现数据库的删改操作关于UI部分,我们使用storyboard简单完成,在上一篇文章中有详细的描述iOS基础教程-SQLite数据库操作(一 StoryBoard操作 SQLite操作前准备工作),本篇结束以后,就可以完成一...
  • angularJs实现学生信息增删改查以及翻页,界面优美,
  • MyEclipse学生系统增删改查.rar
  • javaScript实现学生信息增删改查,以及翻页,界面优美
  • 该项目主要实现对学生信息的管理,通过学生信息管理系统能够进行学生信息的增加、查看,查询,删除等功能,实现学生管理工作的系统化和自动化。 该项目已经上传到github了,想看源码请移步:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,303
精华内容 10,521
关键字:

学生信息的增删改查