/**
* Project Name:cjxy
* File Name:AdminDaoImpl.java
* Package Name:edu.bjfu.cjxy.daoimpl
* Date:2013年9月3日 上午10:53:14
* Copyright (c) 2013, zhangzhaoyu0524@163.com All Rights Reserved.
*
*/
package edu.bjfu.cjxy.daoimpl;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowCallbackHandler;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Repository;
import edu.bjfu.cjxy.dao.AdminDao;
import edu.bjfu.cjxy.dao.BaseDao;
import edu.bjfu.cjxy.databean.SubAdminListRecord;
import edu.bjfu.cjxy.domain.Admin;
import edu.bjfu.cjxy.domain.SubstationAdmin;
import edu.bjfu.cjxy.utils.Page;
/**
* ClassName:AdminDaoImpl <br/>
* Function: 操作系统管理关和分站管理员. <br/>
* Reason: 操作系统管理员和分站管理员. <br/>
* Date: 2013年9月3日 上午10:53:14 <br/>
* @author zhangzhaoyu
* @version
* @since JDK 1.6
* @see
*/
@Repository
public class AdminDaoImpl implements BaseDao<Admin>, AdminDao {
@Autowired
private JdbcTemplate jdbcTemplate;
@Override
public Admin getAdminByUserId(String userId) {
String sql = " SELECT * FROM superadmin WHERE userId = ? ";
return jdbcTemplate.queryForObject(sql, new Object[]{userId}, new RowMapper<Admin>() {
@Override
public Admin mapRow(ResultSet rs, int index) throws SQLException {
Admin admin = new Admin();
admin.setId(rs.getInt("id"));
admin.setUserId(rs.getString("userId"));
admin.setPassword(rs.getString("password"));
admin.setType(rs.getString("type"));
admin.setPhone(rs.getString("phone"));
admin.setEmail(rs.getString("email"));
return admin;
}
});
}
@Override
public SubstationAdmin getSubstationAdminByUserId(String userId) {
String sql = " SELECT * FROM admin WHERE userId = ? ";
return jdbcTemplate.queryForObject(sql, new Object[]{userId}, new RowMapper<SubstationAdmin>(){
@Override
public SubstationAdmin mapRow(ResultSet rs, int index) throws SQLException {
SubstationAdmin subAdmin = new SubstationAdmin();
subAdmin.setId(rs.getInt("id"));
subAdmin.setUserId(rs.getString("userId"));
subAdmin.setPassword(rs.getString("password"));
subAdmin.setType(rs.getString("type"));
subAdmin.setBranchId(rs.getInt("branchId"));
subAdmin.setLeixing(rs.getInt("leixing"));
subAdmin.setPhone(rs.getString("phone"));
subAdmin.setEmail(rs.getString("email"));
return subAdmin;
}});
}
@Override
public Page<Admin> getAdminByPage(Page<Admin> page) {
int countOfsuperadmin = getTotalCountOfAdmin();
//设置总的记录数
page.setTotalRecord(countOfsuperadmin);
String sql = "SELECT * FROM superadmin ORDER BY id LIMIT ?, ? ";
List<Admin> adminList = jdbcTemplate.query(
sql,
new Object[]{page.getOffset(),
page.getPageSize()},
new RowMapper<Admin>() {
@Override
public Admin mapRow(ResultSet rs, int index) throws SQLException {
Admin admin = new Admin();
admin.setId(rs.getInt("id"));
admin.setUserId(rs.getString("userId"));
admin.setPassword(rs.getString("password"));
admin.setType(rs.getString("type"));
admin.setPhone(rs.getString("phone"));
admin.setEmail(rs.getString("email"));
return admin;
}});
page.setDatas(adminList);
return page;
}
@Override
public int getTotalCountOfAdmin() {
return getTotalCount();
}
@Override
public Page<SubstationAdmin> getSubstationAdminByPage(Page<SubstationAdmin> page) {
int totalCountOfSubAdmin = getTotalCountOfSubstationAdmin();
//设置总记录数
page.setTotalRecord(totalCountOfSubAdmin);
String sql = "SELECT * FROM admin ORDER BY id LIMIT ?, ? ";
final List<SubstationAdmin> subAdminList = new ArrayList<SubstationAdmin>();
jdbcTemplate.query(sql, new Object[]{page.getOffset(), page.getPageSize()},
new RowCallbackHandler() {
@Override
public void processRow(ResultSet rs) throws SQLException {
SubstationAdmin subAdmin = new SubstationAdmin();
subAdmin.setId(rs.getInt("id"));
subAdmin.setUserId(rs.getString("userId"));
subAdmin.setPassword(rs.getString("password"));
subAdmin.setBranchId(rs.getInt("branchId"));
subAdmin.setType(rs.getString("type"));
subAdmin.setBranchId(rs.getInt("branchId"));
subAdmin.setLeixing(rs.getInt("leixing"));
subAdmin.setPhone(rs.getString("phone"));
subAdmin.setEmail(rs.getString("email"));
subAdminList.add(subAdmin);
}
});
page.setDatas(subAdminList);
return page;
}
@Override
public int getTotalCountOfSubstationAdmin() {
String sql = " SELECT count(*) FROM admin ";
return jdbcTemplate.queryForObject(sql, Integer.class);
}
@Override
public boolean insert(Admin obj) {
String sql = " INSERT INTO superadmin(userId, password, type, phone, email) VALUES(?, ?, ?, ?, ?)";
Object[] args = new Object[]{
obj.getUserId(),
obj.getPassword(),
obj.getType(),
obj.getPhone(),
obj.getEmail()
};
int[] argTypes = new int[] {
java.sql.Types.VARCHAR,
java.sql.Types.VARCHAR,
java.sql.Types.VARCHAR,
java.sql.Types.VARCHAR,
java.sql.Types.VARCHAR
};
return jdbcTemplate.update(sql, args, argTypes) > 0;
}
@Override
public boolean delete(Admin obj) {
String sql = null;
Object[] args = null;
if (obj.getId() != null) {
sql = " DELETE FROM superadmin WHERE id = ? ";
args = new Object[]{obj.getId()};
} else if(obj.getUserId() != null) {
sql = " DELETE FROM superadmin WHERE userId = ? ";
args = new Object[]{obj.getUserId()};
} else {
return false;
}
return jdbcTemplate.update(sql, args) > 0;
}
@Override
public boolean update(Admin obj) {
String sql = " UPDATE superadmin SET userId = ?, password = ?, type = ?, phone = ?, email = ? WHERE id = ? ";
Object[] args = new Object[]{
obj.getUserId(),
obj.getPassword(),
obj.getType(),
obj.getPhone(),
obj.getEmail(),
obj.getId()
};
int[] argTypes = new int[]{
java.sql.Types.VARCHAR,
java.sql.Types.VARCHAR,
java.sql.Types.VARCHAR,
java.sql.Types.VARCHAR,
java.sql.Types.VARCHAR,
java.sql.Types.INTEGER
};
return jdbcTemplate.update(sql, args, argTypes) > 0;
}
@Override
public Admin queryForObject(int id) {
String sql = " SELECT * FROM superadmin WHERE id = ? ";
return jdbcTemplate.queryForObject(sql, new Object[]{id},
BeanPropertyRowMapper.newInstance(Admin.class));
}
@Override
public int getTotalCount() {
String sql = " SELECT count(*) FROM superadmin ";
return jdbcTemplate.queryForObject(sql, Integer.class);
}
@Override
public Page<Admin> queryForDataByPage(Page<Admin> page, Admin obj) {
if (obj != null) {
String sql = " select count(*) from superadmin where userId like '%" + obj.getUserId() + "%'";
int totalCount = jdbcTemplate.queryForObject(sql, Integer.class);
page.setTotalRecord(totalCount);
sql = "SELECT * FROM superadmin where userId like '%?%' LIMIT ?, ? ";
Object[] args = new Object[]{
obj.getUserId(),
page.getOffset(),
page.getPageSize()
};
List<Admin> adminList = jdbcTemplate.query(sql, args, new RowMapper<Admin>() {
@Override
public Admin mapRow(ResultSet rs, int index) throws SQLException {
Admin admin = new Admin(rs.getInt("id"), rs.getString("userId"),
rs.getString("password"), rs.getString("type"));
admin.setPhone(rs.getString("phone"));
admin.setEmail(rs.getString("email"));
return admin;
}
});
page.setDatas(adminList);
return page;
}
return null;
}
@Override
public void executeSql(String sql) {
jdbcTemplate.execute(sql);
}
@Override
public boolean modifyAdminPassword(Admin admin) {
String sql = " UPDATE superadmin SET password = ? WHERE id = ? ";
return jdbcTemplate.update(sql, new Object[]{admin.getPassword(), admin.getId()},
new int[]{java.sql.Types.VARCHAR,java.sql.Types.INTEGER}) > 0;
}
@Override
public boolean modifySubAdminPassword(SubstationAdmin subadmin) {
String sql = " UPDATE admin SET password = ? WHERE id = ? ";
return jdbcTemplate.update(sql, new Object[]{subadmin.getPassword(), subadmin.getId()},
new int[]{java.sql.Types.VARCHAR,java.sql.Types.INTEGER}) > 0;
}
@Override
public Page<SubAdminListRecord> getSubstationAdminListRecordByPage(
Page<SubAdminListRecord> page, SubAdminListRecord sub) {
if (sub == null) {
int totalCount = getTotalCountOfSubstationAdmin();
page.setTotalRecord(totalCount);
String sql = " SELECT admin.id, admin.userId, admin.password, admin.branchId, admin.leixing, "
+ " admin.phone, admin.email, branchschool.name FROM admin, branchschool where "
+ " admin.branchId = branchschool.id ORDER BY id LIMIT ?, ? ";
List<SubAdminListRecord> datas = jdbcTemplate.query(sql, new Object[]{page.getOffset(), page.getPageSize()},new int[]{java.sql.Types.INTEGER, java.sql.Types.INTEGER},
new RowMapper<SubAdminListRecord>() {
@Override
public SubAdminListRecord mapRow(ResultSet rs, int rowNum) throws SQLException {
SubAdminListRecord data = new SubAdminListRecord();
data.setId(rs.getInt("id"));
data.setUserId(rs.getString("userId"));
data.setPassword(rs.getString("password"));
data.setLeixing(rs.getInt("leixing"));
data.setPhone(rs.getString("phone"));
data.setEmail(rs.getString("email"));
data.setBranchSchoolName(rs.getString("name"));
return data;
}
});
page.setDatas(datas);
return page;
}
return null;
}
@Override
public SubstationAdmin getSubstationAdminById(int subAdminId) {
String sql = " SELECT * FROM admin WHERE id = ? ";
return jdbcTemplate.queryForObject(sql, new Object[]{subAdminId}, new RowMapper<SubstationAdmin>(){
@Override
public SubstationAdmin mapRow(ResultSet rs, int index) throws SQLException {
SubstationAdmin subAdmin = new SubstationAdmin();
subAdmin.setId(rs.getInt("id"));
subAdmin.setUserId(rs.getString("userId"));
subAdmin.setPassword(rs.getString("password"));
subAdmin.setType(rs.getString("type"));
subAdmin.setBranchId(rs.getInt("branchId"));
subAdmin.setLeixing(rs.getInt("leixing"));
subAdmin.setPhone(rs.getString("phone"));
subAdmin.setEmail(rs.getString("email"));
return subAdmin;
}});
}
@Override
public boolean insertSubAdmin(SubstationAdmin subAdmin) {
String sql = " INSERT INTO admin(userId, password, type, branchId, leixing, phone, email) VALUES(?, ?, ?, ?, ?, ?, ?)";
Object[] args = new Object[]{
subAdmin.getUserId(),
subAdmin.getPassword(),
subAdmin.getType(),
subAdmin.getBranchId(),
subAdmin.getLeixing(),
subAdmin.getPhone(),
subAdmin.getEmail()
};
return jdbcTemplate.update(sql, args) > 0;
}
@Override
public boolean deleteSubAdmin(SubstationAdmin subAdmin) {
String sql = "DELETE FROM admin WHERE id = ? ";
return jdbcTemplate.update(sql, new Object[]{subAdmin.getId()},
new int[]{java.sql.Types.INTEGER}) > 0;
}
@Override
public boolean updateSubAdmin(SubstationAdmin subAdmin) {
String sql = "UPDATE admin SET userId = ?, password = ?, type = ?, branchId = ?, "
+ " leixing = ?, phone = ?, email = ? WHERE id = ? ";
Object[] args = new Object[]{
subAdmin.getUserId(),
subAdmin.getPassword(),
subAdmin.getType(),
subAdmin.getBranchId(),
subAdmin.getLeixing(),
subAdmin.getPhone(),
subAdmin.getEmail(),
subAdmin.getId()
};
return jdbcTemplate.update(sql, args) > 0;
}
@Override
public int getNameNum(String userId) {
String sql = " SELECT count(*) FROM superadmin WHERE userId = '"+userId+"'";
return jdbcTemplate.queryForObject(sql, Integer.class);
}
@Override
public int getSubNameNum(String userId) {
String sql = " SELECT count(*) FROM admin WHERE userId = '"+userId+"'";
return jdbcTemplate.queryForObject(sql, Integer.class);
}
}
分享到:
相关推荐
在本文中,我们将讨论如何使用 Spring JdbcTemplate 调用 Oracle 存储过程来实现 CRUD(Create、Read、Update、Delete)操作。我们将首先编写 Oracle 存储过程,然后编写 Java 代码使用 Spring JdbcTemplate 调用...
在这个实例工程中,我们将深入探讨Spring JdbcTemplate的基本使用、优势以及常见操作。 一、Spring JdbcTemplate简介 Spring JdbcTemplate的出现是为了弥补原生JDBC在编码上的繁琐,它通过模板方法模式,将SQL执行...
在描述中提到的“规范model格式接口”,可能是指创建一套标准的数据访问接口,这些接口定义了CRUD(Create、Read、Update、Delete)操作,并由SpringJdbcTemplate实现具体的数据库交互逻辑。这样做的好处是解耦了...
Spring JdbcTemplate接口提供了丰富的API,用于执行SQL查询、更新、插入、删除等操作。它抽象了数据库连接管理、事务控制等复杂过程,使代码更加简洁、易于测试。例如,`queryForList(String sql, Class<T> element...
通过这种方式,`BaseDaoImpl` 类为所有继承它的DAO提供了一个通用的CRUD操作基础,具体的业务逻辑可以在继承这个基类的DAO中实现,只需覆盖或扩展这些方法即可。这种方式提高了代码的可重用性,降低了重复的工作量,...
在Spring框架中,JdbcTemplate是用于简化数据库...无论是在简单的CRUD操作还是复杂的事务处理中,它都是Spring开发中不可或缺的工具。通过熟练掌握JdbcTemplate的使用,开发者可以更高效地构建与数据库交互的Java应用。
综上所述,Spring JdbcTemplate为开发者提供了简洁、安全的数据库访问方式,尤其适用于简单的CRUD操作。通过学习和掌握Spring JdbcTemplate,我们可以更高效地进行数据库交互,减少代码中的错误,提高开发效率。在...
总结,Spring的CRUD操作是通过IoC容器管理的数据访问组件完成的,借助于`JdbcTemplate`或ORM框架,结合AOP进行事务管理,实现了高效且易于维护的数据库操作。同时,注解驱动的配置简化了XML配置文件,使代码更加简洁...
本实例将深入探讨如何实现一个完整的Spring MVC CRUD操作。 首先,我们来了解CRUD操作的基本概念。CRUD是Create(创建)、Read(读取)、Update(更新)和Delete(删除)的首字母缩写,代表了数据库操作中最基本的...
使用JDBCTemplate执行基本的CRUD操作如下: 1. **插入数据**: ```java jdbcTemplate.update("INSERT INTO users(name, email) VALUES (?, ?)", "Alice", "alice@example.com"); ``` 2. **更新数据**: ```java ...
在本实例中,我们将探讨如何使用Spring JdbcTemplate进行基本的CRUD(创建、读取、更新、删除)操作。 首先,我们需要在Spring配置文件中定义JdbcTemplate bean。这通常通过DataSource(数据源)来完成,例如: ``...
在这个项目中,Spring JdbcTemplate可能会被用来连接数据库,执行SQL语句,比如CRUD操作(创建、读取、更新和删除)。它允许开发者以声明式的方式编写SQL,使得代码更加简洁,同时保持了良好的封装性,降低了SQL注入...
完成功能:能够对用户进行CRUD操作,界面粗糙,只做演示 运行环境:eclipse2019.03+JDK8+Tomcat9.0.41+MySQL5.5 运用到的技术:spring+springMVC+jdbctemplate+MVC框架 具体细节: ①查询所有员工列表:jdbcTemplate...
接下来,我们将讨论如何使用JDBCTemplate执行CRUD操作: 1. 创建(Create): 创建新记录通常涉及调用`update`方法,该方法用于执行INSERT语句。假设我们有一个User表,我们可以创建一个`saveUser`方法: ```java ...
它提供了一种声明式的方式来定义Repository接口,自动实现了基本的CRUD操作。SpringDataJPA能够与各种JPA供应商(如Hibernate、EclipseLink等)集成,减少了编写持久化层代码的工作量。 **JdbcTemplate**:...
在本项目中,SpringJDBC很可能是用来实现CRUD操作的,通过Template类如JdbcTemplate或NamedParameterJdbcTemplate,可以编写简洁且易于测试的数据库操作代码。 **CRUD操作** CRUD是数据库操作的基本动作: 1. **...
标题中提到的"JdbcTemplate"是Spring框架中提供的一个用于简化数据库操作的JDBC抽象库。它是对Java标准数据库编程接口JDBC的一种封装,旨在简化JDBC编程,减少样板代码,使得开发者在使用Spring框架时能够更便捷地对...
JdbcTemplate提供了一系列的便捷方法,如`update()`, `queryForObject()`, `queryForList()`等,涵盖了常见的CRUD操作。这些方法都封装了SQL执行、结果转换等细节,使得代码更加简洁。 此外,JdbcTemplate还支持...
在本文中,我们将深入探讨如何使用Spring Boot集成JdbcTemplate与MySQL数据库进行数据操作。Spring Boot以其简化配置和快速启动的特点,已经成为Java开发者的首选框架。而JdbcTemplate是Spring框架的一部分,它提供...
- **使用**:通过@Autowired注解注入JdbcTemplate实例,然后调用其提供的方法进行CRUD操作,如`update()`, `query()`, `insert()`等。 - **事务管理**:JdbcTemplate支持声明式事务管理,可以通过@Transactional...