//任务3:修改学生信息【5分】 @Override public int updateStudent(Student student) { final int i = sqlSession.update("updadestudent", student); sqlSession.commit(); return i; } @Override public Student selectStudentByID(int id) { Student student =(Student) sqlSession.selectOne( "selectStudentById", id); return student; } @Override public List<Student> selectStudentByCID(int cid) { List<Student> studentList = sqlSession.selectList( "selectStudentByCId",cid); return studentList; } //任务4:根据班级名称,查询该班级的学生【5分】 @Override public List<Student> selectStudentByCName(String cname) { return null; } @After
时间: 2024-02-14 20:35:44 浏览: 36
//任务4:根据班级名称,查询该班级的学生【5分】
@Override
public List<Student> selectStudentByCName(String cname) {
List<Student> studentList = sqlSession.selectList("selectStudentByCName", cname);
return studentList;
}
相关问题
public class StudentImpl implements StudentDao { SqlSession sqlSession= MyUtils.getSession(); @Override public int addStudent(Student student) { final int i = sqlSession.insert("insertStudent", student); sqlSession.commit(); return i; } //任务2:根据学生id删除学生信息【5分】 @Override public int deleteStudent(int i) { return 0; } //任务3:修改学生信息【5分】 @Override public int updateStudent(Student student) { return 0; }
您好,这段代码是一个实现了 `StudentDao` 接口的 `StudentImpl` 类中的三个方法,其中第一个方法是添加学生信息,第二个方法是根据学生id删除学生信息,第三个方法是修改学生信息。
目前第二个方法 `deleteStudent` 的代码还未实现,返回值为0。如果您需要删除学生信息,需要在该方法中实现对应的数据库操作,例如:
```java
@Override
public int deleteStudent(int id) {
final int i = sqlSession.delete("deleteStudentById", id);
sqlSession.commit();
return i;
}
```
在这个例子中,我们在数据库中执行了一个名为 `deleteStudentById` 的 SQL 语句,该语句会删除指定id的学生信息,并返回删除的记录数。最后我们通过 `sqlSession.commit()` 提交我们的修改。如果您的数据库操作不同,需要相应地修改代码实现。
优化这段代码@Override public int update(int id) { String sql = "update student set name='?' where id =?"; int count =this.update(sql,id,name); return count;
这段代码存在 SQL 注入的风险,建议使用 PreparedStatement 来代替字符串拼接的方式。以下是代码示例:
@Override
public int update(int id, String name) {
String sql = "update student set name=? where id=?";
try (PreparedStatement pstmt = conn.prepareStatement(sql)) {
pstmt.setString(1, name);
pstmt.setInt(2, id);
int count = pstmt.executeUpdate();
return count;
} catch (SQLException se) {
se.printStackTrace();
return 0;
}
}
这样可以避免 SQL 注入漏洞,并提高执行效率。