package cn.ruituo.dao;
import cn.ruituo.entity.Student;
import cn.ruituo.util.DBUtil;
import cn.ruituo.util.StrUtil;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* @author oldliu
* @since 1.0
*/
//CRUD
public class StudentDao {
//只返回
public int add(Student stu) {
Connection connection = DBUtil.getConnection();
PreparedStatement ps = null;
//不完整
String sql = "insert into s_student(sname,gradeid,enterdate)values(?,?,?)";
try {
ps = connection.prepareStatement(sql);
ps.setString(1, stu.getSname());
ps.setLong(2, stu.getGradeid());
ps.setDate(3, stu.getEnterdate() == null ? null : new java.sql.Date(stu.getEnterdate().getTime()));
return ps.executeUpdate();
} catch (SQLException e) {
//e.printStackTrace();
DBUtil.handleException(e);
} finally {
DBUtil.close(null, ps, connection);
}
return 0;
}
public int update(Student stu) {
return 0;
}
public int del(long stuno) {
return 0;
}
// public int del2(long gradeid){
// return 0;
// }
//查询
//指定学号,查询学生信息,没有,返回null
public Student get(long stuno) {
String sql = "select * from s_student where stuno=?";
Connection con = DBUtil.getConnection();
PreparedStatement ps = null;
ResultSet rs = null;
try {
ps = con.prepareStatement(sql);
ps.setLong(1, stuno);
rs = ps.executeQuery();
if (rs.next()) {
Student student = new Student();
student.setStuno(rs.getLong("stuno"));
student.setSname(rs.getString("sname"));
student.setEnterdate(rs.getDate("enterdate"));
student.setAddress(rs.getString("address"));
return student;
}
} catch (SQLException e) {
DBUtil.handleException(e);
} finally {
DBUtil.close(rs, ps, con);
}
return null;
}
//查询多个
//没有找到,返回空集合
public List<Student> findALL() {
List<Student> datas = new ArrayList<>();
String sql = "select * from s_student order by stuno asc";
Connection con = DBUtil.getConnection();
PreparedStatement ps = null;
ResultSet rs = null;
try {
ps = con.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()) {
Student student = new Student();
student.setStuno(rs.getLong("stuno"));
student.setSname(rs.getString("sname"));
student.setEnterdate(rs.getDate("enterdate"));
//...
datas.add(student);//!!!!
}
} catch (SQLException e) {
DBUtil.handleException(e);
} finally {
DBUtil.close(rs, ps, con);
}
return datas;
}
//查询全部学生 人数
public int findTotal() {
String sql = "select count(stuno) as a from s_student";
Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
int total = 0;
try {
con = DBUtil.getConnection();
ps = con.prepareStatement(sql);
rs = ps.executeQuery();
if (rs.next()) {
total = rs.getInt(1);
}
} catch (SQLException e) {
DBUtil.handleException(e);
} finally {
DBUtil.close(rs, ps, con);
}
return total;
}
//分页
//limit
/**
* @param pageNo 页号,第几页
* @param pageSize 一页多少条
* @param sname 模糊查找条件
* @return
*/
public List<Student> paging(int pageNo, int pageSize, String sname, String qq, String telephone, Date enterdateStart, Date enterDateEnd) {
String sql = "select * from s_student where 1=1";
List<Object> params = new ArrayList<>();
if (!StrUtil.isBlank(sname)) {
sql += " and sname like \"%\"?\"%\" ";
params.add(sname);
}
if (!StrUtil.isBlank(qq)) {
sql += " and qq like \"%\"?\"%\" ";
params.add(qq);
}
if (!StrUtil.isBlank(telephone)) {
sql += " and telephone like \"%\"?\"%\" ";
params.add(telephone);
}
sql+=" order by stuno limit ?,?";
int start = (pageNo - 1) * pageSize;
System.out.println("sql="+sql+",params="+params);
List<Student> datas = new ArrayList<>();
Connection con = DBUtil.getConnection();
PreparedStatement ps = null;
ResultSet rs = null;
try {
ps = con.prepareStatement(sql);
for (int i = 0; i < params.size(); i++) {
ps.setObject(i + 1, params.get(i));
}
ps.setInt(params.size() + 1, start);
ps.setInt(params.size() + 2, pageSize);
rs = ps.executeQuery();
while (rs.next()) {
Student student = new Student();
student.setStuno(rs.getLong("stuno"));
student.setSname(rs.getString("sname"));
student.setEnterdate(rs.getDate("enterdate"));
student.setSex(rs.getString("sex"));
student.setAddress(rs.getString("address"));
student.setTelephone(rs.getString("telephone"));
student.setQq(rs.getString("qq"));
student.setWechat(rs.getString("wechat"));
//...
datas.add(student);//!!!!
}
} catch (SQLException e) {
DBUtil.handleException(e);
} finally {
DBUtil.close(rs, ps, con);
}
return datas;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
java72-java-advance.rar

共298个文件
java:211个
jsp:35个
xml:22个

需积分: 5 0 下载量 109 浏览量
2023-06-20
06:26:47
上传
评论
收藏 1.24MB RAR 举报
温馨提示
JavaAdvance复习题汇总 1.java语言提供处理不同类型流的类的包是(D) a)java.sql b) java.util c) java.math d) java.io 2.不属于java.io包中的接口的一项是(C) a)DataInput b) DataOutput c) DataInputStream d) ObjectInput 3. ByteArrayOutputStream将下列哪一项作为输出流 C a) 字符b)字节c)字节数组D)对象 4. 下列流中哪一个使用了缓冲区技术A A.BuffereOutputStream B. FileInputStream C. DataOutputStream D.FileReader 5.下列字节输入流中,哪一个不能够被实例化B A.FileInputStream B.FilterInputStream C.ByteArrayInputStream D.ObjectInputStream
资源推荐
资源详情
资源评论






























收起资源包目录





































































































共 298 条
- 1
- 2
- 3
资源评论


野生的狒狒
- 粉丝: 3492
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- maven-utils-1.2.5-sources.jar
- artifact-1.0.75-javadoc.jar
- jsbridge-macosx64-1.0.4-sources.jar
- kotlin-kotlinxserialization-0.1.23-sources.jar
- wisp-client-2025.03.07.152727-5eb2c85.jar
- codepipeline-jvm-0.32.0-beta-javadoc.jar
- sparkling-water-repl_2.11-2.3.13-javadoc.jar
- junit5spring-4.4.4.jar
- customerprofiles-jvm-1.3.102-sources.jar
- service-self-backfill-2025.03.07.183853-e86930d.jar
- geomaps-jvm-1.4.45-sources.jar
- costoptimizationhub-jvm-1.0.19-sources.jar
- sparkling-water-ml_2.11-2.2.17.jar
- accessanalyzer-jvm-1.3.85.jar
- ecrpublic-jvm-1.0.66-javadoc.jar
- bucket4j-2024.01.05.050732-580e44f.jar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
