package com.iflysse.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Repository;
import com.iflysse.model.Student;
import com.ifysse.util.ConnDB;
@Repository
// 持久层
public class StudentDao implements StudentDaoInterface {
Logger logger = Logger.getLogger(StudentDao.class);
@Override
public ArrayList<Student> getStudentList() {
ArrayList<Student> students = new ArrayList<Student>();
try {
Connection conn = null;
try {
String sql = "SELECT id,name FROM student";
conn = ConnDB.getConnection();
Statement stat = conn.createStatement();
ResultSet rst = stat.executeQuery(sql);
while (rst.next()) {
Student student = new Student();
student.setId(rst.getInt(1));
student.setName(rst.getString(2));
students.add(student);
}
stat.close();
rst.close();
} finally {
if (conn != null) {
conn.close();
}
logger.info("学生列表获取成功!");
}
} catch (SQLException e) {
logger.error("学生列表获取失败!" + e);
e.printStackTrace();
}
return students;
}
@Override
public void addStudent(Student student) {
try {
Connection conn = null;
String name = student.getName();
try {
String sql = "INSERT INTO student (NAME) VALUES (?)";
conn = ConnDB.getConnection();
PreparedStatement pst = conn.prepareStatement(sql);
pst.setString(1, name);
pst.executeUpdate();
pst.close();
} finally {
if (conn != null) {
conn.close();
}
}
logger.info("学生添加成功!");
} catch (Exception e) {
logger.info("学生添加失败!" + e);
e.printStackTrace();
}
}
@Override
public void delStudentById(Student student) {
try {
Connection conn = null;
try {
String sql = "DELETE FROM student WHERE id=?";
conn = ConnDB.getConnection();
PreparedStatement pst = conn.prepareStatement(sql);
pst.setInt(1, student.getId());
pst.executeUpdate();
pst.close();
} finally {
if (conn != null) {
conn.close();
}
}
logger.info("学生删除成功!");
} catch (Exception e) {
logger.info("学生删除失败!" + e);
e.printStackTrace();
}
}
@Override
public Student getStudentById(int id) {
Student student = new Student();
try {
Connection conn = null;
try {
String sql = "SELECT id,name FROM student WHERE id=?";
conn = ConnDB.getConnection();
PreparedStatement pst = conn.prepareStatement(sql);
pst.setInt(1, id);
ResultSet rst = pst.executeQuery();
while (rst.next()) {
student.setId(rst.getInt(1));
student.setName(rst.getString(2));
}
pst.close();
rst.close();
} finally {
if (conn != null) {
conn.close();
}
logger.info("单个学生获取成功!");
}
} catch (SQLException e) {
logger.error("单个学生获取失败!" + e);
e.printStackTrace();
}
return student;
}
@Override
public void editStudent(Student student) {
try {
Connection conn = null;
String name = student.getName();
try {
String sql = "UPDATE student SET name=? WHERE id=?";
conn = ConnDB.getConnection();
PreparedStatement pst = conn.prepareStatement(sql);
pst.setString(1, name);
pst.setInt(2, student.getId());
pst.executeUpdate();
pst.close();
} finally {
if (conn != null) {
conn.close();
}
}
logger.info("学生修改成功!");
} catch (Exception e) {
logger.info("学生修改失败!" + e);
e.printStackTrace();
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
eclipse 直接导出的项目 Spring MVC 的一个DEMO jiaolongzhi作品 采用 Spring 3.0 MVC 框架 JSTL+EL 语句输出界面 利用 注解 的形式定义 控制层 服务层 和持久层 采用MYSQL5.0数据库 自己建2张表 student 和teacher 字段 看实体类中的属性。 DAO 层采用2种方法连接proxool连接池。一种是 Spring 封装的JDBC和 操作 (teacher表) 一种是 proxool 提供的方式(student表)
资源推荐
资源详情
资源评论
收起资源包目录
SpringTest.rar (63个子文件)
SpringTest
.project 1KB
.settings
.jsdtscope 503B
org.eclipse.wst.common.component 460B
org.eclipse.jdt.core.prefs 395B
org.eclipse.wst.common.project.facet.core.xml 345B
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.jsdt.ui.superType.name 6B
src
log4j.properties 621B
com
ifysse
util
ConnDB.java 303B
iflysse
dao
StudentDaoInterface.java 358B
StudentDao.java 4KB
TeacherDaoInterface.java 327B
TeacherDao.java 2KB
model
Teacher.java 419B
Student.java 302B
controller
HomeController.java 2KB
TeacherController.java 2KB
service
StudentService.java 1KB
TeacherService.java 1KB
TeacherServiceInterface.java 326B
StudentServiceInterface.java 332B
build
classes
log4j.properties 621B
com
ifysse
util
ConnDB.class 568B
iflysse
dao
TeacherDao$1.class 1KB
TeacherDaoInterface.class 427B
StudentDaoInterface.class 420B
TeacherDao.class 3KB
TeacherDao$2.class 1KB
StudentDao.class 5KB
model
Teacher.class 904B
Student.class 725B
controller
TeacherController.class 4KB
HomeController.class 3KB
service
TeacherServiceInterface.class 417B
StudentService.class 2KB
StudentServiceInterface.class 410B
TeacherService.class 2KB
.springBeans 449B
WebContent
sudent_add.jsp 687B
WEB-INF
web.xml 2KB
dispatcherServlet-servlet.xml 1KB
proxool.xml 758B
lib
org.springframework.jdbc-3.0.5.RELEASE.jar 377KB
proxool-0.9.1.jar 196KB
proxool-cglib.jar 327KB
org.springframework.core-3.0.5.RELEASE.jar 373KB
org.springframework.web-3.0.5.RELEASE.jar 386KB
org.springframework.web.servlet-3.0.5.RELEASE.jar 409KB
jstl.jar 20KB
org.springframework.expression-3.0.5.RELEASE.jar 166KB
org.springframework.context-3.0.5.RELEASE.jar 653KB
org.springframework.asm-3.0.5.RELEASE.jar 52KB
org.springframework.transaction-3.0.5.RELEASE.jar 226KB
com.springsource.org.apache.log4j-1.2.15.jar 387KB
org.springframework.beans-3.0.5.RELEASE.jar 542KB
com.springsource.org.apache.commons.logging-1.1.1.jar 60KB
standard.jar 384KB
student_list.jsp 707B
index.jsp 677B
META-INF
MANIFEST.MF 39B
teacher
add.jsp 784B
list.jsp 922B
.classpath 841B
共 63 条
- 1
jiaolongzhi
- 粉丝: 42
- 资源: 22
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- DMG3407SSN-VB一款SOT23封装P-Channel场效应MOS管
- DMG3407SSN-7-VB一款SOT23封装P-Channel场效应MOS管
- DMG3401LSN-VB一款SOT23封装P-Channel场效应MOS管
- CloudCompareV2.13.0
- DMC4050SSD-13-VB一款N+P-Channel沟道SOP8的MOSFET晶体管参数介绍与应用说明
- 1166-加减运算器实验.ms14
- DMC4040SSD-13-VB一款SOP8封装N+P-Channel场效应MOS管
- 绿茶基本知识及冲泡PPT
- 2001-2019上市公司历史业绩预期差距计算Stata代码(附2001-2019年数据和结果)
- DMC4028SSD-VB一款SOP8封装N+P-Channel场效应MOS管
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页