package cn.itcast.dao.impl;
import cn.itcast.dao.StudentDao;
import cn.itcast.domain.Student;
import cn.itcast.util.JDBCUtils;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class StudentDaoImpl implements StudentDao {
private JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());
@Override
public List<Student> findAll() {
//使用JDBC操作数据库...
//1.定义sql
String sql = "select * from student";
List<Student> students = template.query(sql, new BeanPropertyRowMapper<Student>(Student.class));
return students;
}
@Override
public void add(Student student) {
//1.定义sql
String sql = "insert into student values(null,?,?,?,?,?,?)";
//2.执行sql
template.update(sql, student.getName(), student.getGender(), student.getAge(), student.getAddress(), student.getQq(), student.getEmail());
}
@Override
public void delete(int id) {
//1.定义sql
String sql = "delete from student where id = ?";
//2.执行sql
template.update(sql, id);
}
@Override
public Student findById(int id) {
String sql = "select * from student where id = ?";
return template.queryForObject(sql, new BeanPropertyRowMapper<Student>(Student.class), id);
}
@Override
public void update(Student student) {
String sql = "update student set name = ?,gender = ? ,age = ? , address = ? , qq = ?, email = ? where id = ?";
template.update(sql, student.getName(), student.getGender(), student.getAge(), student.getAddress(), student.getQq(), student.getEmail(), student.getId());
}
@Override
public int findTotalCount(Map<String, String[]> condition) {
//1.定义模板初始化sql
String sql = "select count(*) from student where 1 = 1 ";
StringBuilder sb = new StringBuilder(sql);
//2.遍历map
Set<String> keySet = condition.keySet();
//定义参数的集合
List<Object> params = new ArrayList<Object>();
for (String key : keySet) {
//排除分页条件参数
if("currentPage".equals(key) || "rows".equals(key)){
continue;
}
//获取value
String value = condition.get(key)[0];
//判断value是否有值
if(value != null && !"".equals(value)){
//有值
sb.append(" and "+key+" like ? ");
params.add("%"+value+"%");//?条件的值
}
}
System.out.println(sb.toString());
System.out.println(params);
return template.queryForObject(sb.toString(),Integer.class,params.toArray());
}
@Override
public List<Student> findByPage(int start, int rows, Map<String, String[]> condition) {
String sql = "select * from student where 1 = 1 ";
StringBuilder sb = new StringBuilder(sql);
//2.遍历map
Set<String> keySet = condition.keySet();
//定义参数的集合
List<Object> params = new ArrayList<Object>();
for (String key : keySet) {
//排除分页条件参数
if("currentPage".equals(key) || "rows".equals(key)){
continue;
}
//获取value
String value = condition.get(key)[0];
//判断value是否有值
if(value != null && !"".equals(value)){
//有值
sb.append(" and "+key+" like ? ");
params.add("%"+value+"%");//?条件的值
}
}
//添加分页查询
sb.append(" limit ?,? ");
//添加分页查询参数值
params.add(start);
params.add(rows);
sql = sb.toString();
System.out.println(sql);
System.out.println(params);
return template.query(sql,new BeanPropertyRowMapper<Student>(Student.class),params.toArray());
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
学生信息管理系统源码.rar (85个子文件)
学生信息管理系统源码
数据库
school.sql 2KB
StudentSystem
.classpath 2KB
.settings
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.jdt.core.prefs 364B
.jsdtscope 567B
org.eclipse.wst.common.component 491B
org.eclipse.wst.common.project.facet.core.xml 345B
org.eclipse.wst.jsdt.ui.superType.container 49B
src
cn
itcast
web
servlet
FindUserByPageServlet.java 2KB
DelSelectedServlet.java 1KB
AddUserServlet.java 2KB
CheckCodeServlet.java 2KB
DelUserServlet.java 1KB
RegisterUserServlet.java 2KB
UpdateUserServlet.java 2KB
LoginServlet.java 3KB
FindUserServlet.java 1KB
dao
UserDao.java 191B
StudentDao.java 798B
impl
UserDaoImpl.java 1KB
StudentDaoImpl.java 4KB
service
UserService.java 276B
StudentService.java 1KB
impl
UserServiceImpl.java 515B
StudentServiceImpl.java 2KB
Test.java 416B
util
JDBCUtils.java 1KB
domain
PageBean.java 1KB
Student.java 2KB
User.java 578B
druid.properties 184B
build
classes
cn
itcast
Test.class 803B
web
servlet
LoginServlet.class 3KB
AddUserServlet.class 2KB
DelUserServlet.class 2KB
DelSelectedServlet.class 2KB
FindUserByPageServlet.class 2KB
RegisterUserServlet.class 2KB
CheckCodeServlet.class 3KB
FindUserServlet.class 2KB
UpdateUserServlet.class 2KB
dao
UserDao.class 256B
StudentDao.class 647B
impl
StudentDaoImpl.class 5KB
UserDaoImpl.class 2KB
service
StudentService.class 740B
UserService.class 235B
impl
StudentServiceImpl.class 3KB
UserServiceImpl.class 1006B
util
JDBCUtils.class 1KB
domain
User.class 920B
Student.class 2KB
PageBean.class 2KB
druid.properties 184B
WebContent
list.jsp 8KB
WEB-INF
lib
mysql-connector-java-5.1.18-bin.jar 771KB
jstl-impl.jar 379KB
spring-core-4.2.4.RELEASE.jar 1.03MB
commons-beanutils-1.8.3.jar 227KB
spring-tx-4.2.4.RELEASE.jar 259KB
spring-jdbc-4.2.4.RELEASE.jar 413KB
druid-1.0.9.jar 1.76MB
javax.servlet.jsp.jstl.jar 44KB
spring-beans-4.2.4.RELEASE.jar 714KB
commons-logging-1.1.1.jar 59KB
web.xml 400B
js
bootstrap.js 68KB
bootstrap.min.js 36KB
common.js 138B
jquery-2.1.0.min.js 82KB
css
bootstrap.min.css 118KB
bootstrap-theme.css 26KB
bootstrap.css 143KB
bootstrap-theme.min.css 23KB
add.jsp 3KB
register.jsp 4KB
update.jsp 4KB
META-INF
MANIFEST.MF 39B
fonts
glyphicons-halflings-regular.svg 106KB
glyphicons-halflings-regular.ttf 44KB
glyphicons-halflings-regular.woff 23KB
glyphicons-halflings-regular.eot 20KB
glyphicons-halflings-regular.woff2 18KB
login.jsp 3KB
.project 913B
共 85 条
- 1
资源评论
嵌入式硬件与代码
- 粉丝: 505
- 资源: 582
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功