测试类:
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); }
}
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); }
}
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()); }
}
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());
}
}
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);
}
}
业务层
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();
}
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(); }
}
实体对象
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 + '\'' + '}'; }
}
持久层
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();
}
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)); }
}