package wangzhan; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; public class Notice { public Connection connect; public Notice()throws Exception { Class.forName("com.mysql.jdbc.Driver"); String url="jdbc:mysql://localhost:3306/pddabc?useUnicode=true&characterEncoding=utf8"; String username="root"; String password="2223640185"; connect = DriverManager.getConnection(url,username,password); } public void finalize() throws Exception { connect.close(); } /* notice add * 消息增加,将消息信息添加到数据库 * 输入参数为:学生id,消息类型,消息所属类型的id * 例如,学生id为20210001,即学号;消息类型为“发布新作业”,则消息所属类型id为该作业的id * */ public void add(String stu_id,String type,String type_id) throws Exception { String sql = "insert into notice(notice_student_id,notice_type,notice_type_id,notice_isview) values(?,?,?,?);"; PreparedStatement pre = connect.prepareStatement(sql); pre.setString(1,stu_id); pre.setString(2,type); pre.setString(3,type_id); pre.setString(4,"未查看"); int count=pre.executeUpdate(); pre.close(); } /* notice batch add * 消息批量增加,将消息信息批量添加到数据库 * 输入参数为:专业,消息类型,消息所属类型的id * 为所有属于该专业的学生添加新消息 * 例如,专业为major2,即专业;消息类型为“发布新作业”,则消息所属类型id为该作业的id,结果是为所有专业为major2的学生添加信息 * 参考add函数 * */ public void batch_add(String major,String type,String type_id) throws Exception { Thesql thesql=new Thesql(); Pd_stu[] pdStus = thesql.stu_DimQuery_major(major); for(int i=0;i<pdStus.length;i++) { add(pdStus[i].getId()+"",type,type_id); } } /* notice query * 消息信息查询,将消息信息查询并返回 * 输入参数为:id(String)即消息id * 返回类型为Pd_notice,包括int id;String stu_id;String type;String type_id;String isView; * */ public Pd_notice query(String id) throws Exception { String sql="select * from notice where notice_id = ?"; PreparedStatement pre = connect.prepareStatement(sql); pre.setString(1,id); ResultSet rs = pre.executeQuery(); Pd_notice pdd = new Pd_notice(); while(rs.next()) { pdd.setId(rs.getInt(1)); pdd.setStu_id(rs.getString(2)); pdd.setType(rs.getString(3)); pdd.setType_id(rs.getString(4)); pdd.setIsView(rs.getString(5)); } pre.close(); if(pdd.getId()!=0) return pdd; else return null; }