前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >spring实现增删改查学生管理系统-工学云打卡助手习讯云黔职通打卡管理系统

spring实现增删改查学生管理系统-工学云打卡助手习讯云黔职通打卡管理系统

原创
作者头像
菜菜有点菜
发布2023-12-11 11:28:33
2341
发布2023-12-11 11:28:33
举报
文章被收录于专栏:白菜博客

测试类:

代码语言:java
复制
package top.thecat.test;

// 工学云打卡助手习讯云黔职通打卡管理系统项目展示:https://liangzhizhangyu.com/#/

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import top.thecat.pojo.Users;
import top.thecat.service.UsersService;

import java.util.List;

public class ShowStudentTest2 {
    public static void main(String[] args) {

        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
        UsersService usersService = (UsersService) applicationContext.getBean("usersService");

        List<Users> list = usersService.select2();
        list.forEach(System.out::println);
    }
}
代码语言:java
复制
package top.thecat.test;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import top.thecat.pojo.Users;
import top.thecat.service.UsersService;

import java.util.List;

public class ShowStudentTest {
    public static void main(String[] args) {
        // 启动Spring
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
        UsersService usersService = (UsersService) applicationContext.getBean("usersService");

        List<Users> list = usersService.select();
        list.forEach(System.out::println);
    }
}
代码语言:java
复制
package top.thecat.test;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import top.thecat.pojo.Users;
import top.thecat.service.UsersService;

public class FindStudentByIdTest {
    public static void main(String[] args) {
        // 启动Spring
        // 工学云打卡助手习讯云黔职通打卡管理系统项目展示:https://liangzhizhangyu.com/#/
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
        UsersService usersService = (UsersService) applicationContext.getBean("usersService");

        Users student = usersService.findUsersById(100001);
        System.out.println(student.toString());

    }
}
代码语言:java
复制
package top.thecat.test;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import top.thecat.pojo.Users;
import top.thecat.service.UsersService;

import java.util.ArrayList;
import java.util.List;

public class BachAddStudentTest {
    public static void main(String[] args) {
        // 启动Spring
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
        UsersService usersService = (UsersService) applicationContext.getBean("usersService");
        // 创建对象并且赋予属性(三个对象添加)
        // 工学云打卡助手习讯云黔职通打卡管理系统项目展示:https://liangzhizhangyu.com/#/
        Users users = new Users();
        users.setStudentno(100001);
        users.setSname("白菜");
        users.setSsex("男");
        users.setSbirthday("2023-12-10");
        users.setTc(100);
        users.setSpecialityno("080703");
        Users users1 = new Users();
        users1.setStudentno(100002);
        users1.setSname("小白");
        users1.setSsex("女");
        users1.setSbirthday("2023-12-10");
        users1.setTc(100);
        users1.setSpecialityno("080703");
        Users users2 = new Users();
        users2.setStudentno(100003);
        users2.setSname("大黄");
        users2.setSsex("男");
        users2.setSbirthday("2023-12-10");
        users2.setTc(100);
        users2.setSpecialityno("080703");
//        创建list容器,将对象添加到list
        List<Users> list = new ArrayList<>();
        list.add(users);
        list.add(users1);
        list.add(users2);
//        传递list
        int[] ints = usersService.addStudents(list);
        System.out.println(ints.toString());
    }
}
代码语言:java
复制
package top.thecat.test;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import top.thecat.pojo.Users;
import top.thecat.service.UsersService;

public class AddStudentTest {
    public static void main(String[] args) {
        // 启动Spring
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
        UsersService usersService = (UsersService) applicationContext.getBean("usersService");
        // 创建对象并且赋予属性
        Users users = new Users();
        users.setSname("白菜");
        users.setSsex("男");
        users.setSbirthday("2023-12-10");
        users.setTc(100);
        users.setSpecialityno("080703");
        int rows = usersService.addStudents(users);
        System.out.println(rows);
    }
}

业务层

代码语言:java
复制
package top.thecat.service;

import top.thecat.pojo.Users;

import java.util.List;

//业务层接口
public interface UsersService {
    int addStudents(Users users);
    int[] addStudents(List<Users> users);
    Users findUsersById(int studentno);
    List<Users> select();
    List<Users> select2();
}
代码语言:java
复制
package top.thecat.service.impl;

import top.thecat.dao.UsersDao;
import top.thecat.pojo.Users;
import top.thecat.service.UsersService;

import java.util.List;

// 业务层 接口实现类
public class UsersServiceImpl implements UsersService {
//    依赖注入
    private UsersDao usersDao;

    public UsersDao getUsersDao() {
        return usersDao;
    }

    public void setUsersDao(UsersDao usersDao) {
        this.usersDao = usersDao;
    }

    /**
     * 添加用户
     * @param users
     * @return
     */
    @Override
    public int addStudents(Users users) {
        return this.usersDao.insertUsers(users);
    }

    /**
     * 批量添加用户
     * @param users
     * @return
     // 工学云打卡助手习讯云黔职通打卡管理系统项目展示:https://liangzhizhangyu.com/#/
     */
    @Override
    public int[] addStudents(List<Users> users) {
        return this.usersDao.batchInsertUsers(users);
    }

    /**
     * 学号查看学生信息
     * @param studentno
     * @return
     */
    @Override
    public Users findUsersById(int studentno) {


        return this.usersDao.selectUsersById(studentno);
    }

    @Override
    public List<Users> select() {
        return this.usersDao.selectUsersByName();
    }

    @Override
    public List<Users> select2() {
        return this.usersDao.selectUsersByName2();
    }
}

实体对象

代码语言:java
复制
package top.thecat.pojo;

public class Users {
//    成员属性
    private int studentno;
    private String sname;
    private String ssex;
    private String sbirthday;
    private int tc;
    private String specialityno;

//    无参构造方法 用于创建对象
    public Users(){}

//    生成getset
    public int getStudentno() {
        return studentno;
    }

    public void setStudentno(int studentno) {
        this.studentno = studentno;
    }

    public String getSname() {
        return sname;
    }

    public void setSname(String sname) {
        this.sname = sname;
    }

    public String getSsex() {
        return ssex;
    }

    public void setSsex(String ssex) {
        this.ssex = ssex;
    }

    public String getSbirthday() {
        return sbirthday;
    }

    public void setSbirthday(String sbirthday) {
        this.sbirthday = sbirthday;
    }

    public int getTc() {
        return tc;
    }

    public void setTc(int tc) {
        this.tc = tc;
    }

    public String getSpecialityno() {
        return specialityno;
    }

    public void setSpecialityno(String specialityno) {
        this.specialityno = specialityno;
    }

//    重写tostring

    @Override
    public String toString() {
        return "Users{" +
                "studentno=" + studentno +
                ", sname='" + sname + '\'' +
                ", ssex='" + ssex + '\'' +
                ", sbirthday='" + sbirthday + '\'' +
                ", tc=" + tc +
                ", specialityno='" + specialityno + '\'' +
                '}';
    }
}

持久层

代码语言:java
复制
package top.thecat.dao;

import top.thecat.pojo.Users;

import java.util.List;

public interface UsersDao {
    int insertUsers(Users users);
    int[] batchInsertUsers(List<Users> users);
    Users selectUsersById(int studentno);
    List<Users> selectUsersByName();

    List<Users> selectUsersByName2();
}
代码语言:java
复制
package top.thecat.dao.impl;

import org.springframework.jdbc.core.*;
import top.thecat.dao.UsersDao;
import top.thecat.pojo.Users;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;

// 接口实现类
public class UsersDaoImpl implements UsersDao {
    private JdbcTemplate jdbcTemplate;

    public JdbcTemplate getJdbcTemplate() {
        return jdbcTemplate;
    }

    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
        this.jdbcTemplate = jdbcTemplate;
    }


    /**
     * 添加用户
     *
     * @param users
     * @return
     */
    @Override
    public int insertUsers(Users users) {
        String sql = "insert into student values(198005,?,?,?,?,?)";
        // 数组存放的是未来向sql中绑定的参数
        Object[] params = new Object[]{users.getSname(),users.getSsex(),users.getSbirthday(),users.getTc(),users.getSpecialityno()};
        return this.jdbcTemplate.update(sql, params);
    }

    /***
     * 批量添加用户
     * @param users
     * @return // 工学云打卡助手习讯云黔职通打卡管理系统项目展示:https://liangzhizhangyu.com/#/
     */
    @Override
    public int[] batchInsertUsers(List<Users> users) {
        String sql = "insert into student values(?,?,?,?,?,?)";
        BatchPreparedStatementSetter setter = new BatchPreparedStatementSetter() {
            @Override
            public void setValues(PreparedStatement preparedStatement, int i) throws SQLException {
                Users temp = users.get(i);
                preparedStatement.setInt(1, temp.getStudentno());
                preparedStatement.setString(2, temp.getSname());
                preparedStatement.setString(3, temp.getSsex());
                preparedStatement.setString(4, temp.getSbirthday());
                preparedStatement.setInt(5, temp.getTc());
                preparedStatement.setString(6, temp.getSpecialityno());
            }

            @Override
            public int getBatchSize() {
                return users.size();    // 获取现在需要添加数据的长的长度
            }
        };
        return this.jdbcTemplate.batchUpdate(sql, setter);
    }

    /**
     * 根据学号查询
     * @param studentno
     * @return
     */
    @Override
    public Users selectUsersById(int studentno) {
        String sql = "select * from student where studentno = ?";
        Object[] params = new Object[]{studentno};
        // 将查询到的结果集 放 users对象
        Users users = new Users();

        this.jdbcTemplate.query(sql, params, new RowCallbackHandler() {
            @Override
            public void processRow(ResultSet resultSet) throws SQLException {
                users.setStudentno(resultSet.getInt("studentno"));
                users.setSname(resultSet.getString("sname"));
                users.setSsex(resultSet.getString("ssex"));
                users.setSbirthday(resultSet.getString("sbirthday"));
                users.setTc(resultSet.getInt("tc"));
                users.setSpecialityno(resultSet.getString("specialityno"));
            }
        });
        return users;
    }

    /**
     * 查多条数据
     * @param
     * @return
     */
    @Override
    public List<Users> selectUsersByName() {
        String sql = "select * from student";
        Object[] params = new Object[]{};       // 不需要绑定参数 就不需要给任何的参数
        return this.jdbcTemplate.query(sql, params, new RowMapper<Users>() {
            @Override
            public Users mapRow(ResultSet resultSet, int i) throws SQLException {
                Users users = new Users();
                users.setStudentno(resultSet.getInt("studentno"));
                users.setSname(resultSet.getString("sname"));
                users.setSsex(resultSet.getString("ssex"));
                users.setSbirthday(resultSet.getString("sbirthday"));
                users.setTc(resultSet.getInt("tc"));
                users.setSpecialityno(resultSet.getString("specialityno"));
                return users;
            }
        });
    }

    /***
     * 查询多条用户信息简化版
     * @return
     */
    @Override
    public List<Users> selectUsersByName2() {
        String sql = "select * from student";
        Object[] params = new Object[]{};       // 不需要绑定参数 就不需要给任何的参数
        return this.jdbcTemplate.query(sql,params,new BeanPropertyRowMapper<>(Users.class));
    }

}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 测试类:
  • 业务层
  • 实体对象
  • 持久层
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档