用户信息查询系统_daoImpl
- package com.hopetesting.dao.impl;
import com.hopetesting.dao.UserDao;
import com.hopetesting.domain.User;
import com.hopetesting.utils.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;
/**
* @author newcityman
* @date 2019/9/7 - 21:07
*/
public class UserDaoImpl implements UserDao {
private JdbcTemplate jdbcTemplate = new JdbcTemplate(JDBCUtils.getDataSource());
@Override
public List<User> findAllUser() {
String sql = "select * from user";
List<User> users = jdbcTemplate.query(sql, new BeanPropertyRowMapper<User>(User.class));
return users;
}
@Override
public User login(User user) {
String sql = "select * from user where username=? and password=? ";
User loginUser = jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<>(User.class), user.getUsername(), user.getPassword());
return loginUser;
}
@Override
public void add(User user) {
String sql = "insert into user values(null,?,?,?,?,?,?,null,null)";
jdbcTemplate.update(sql, user.getName(), user.getGender(), user.getAge(), user.getAddress(), user.getQq(), user.getEmail());
}
@Override
public void delUser(int id) {
String sql = "delete from user where id=?";
jdbcTemplate.update(sql, id);
}
@Override
public User findUserById(int id) {
String sql ="select * from user where id= ?";
return jdbcTemplate.queryForObject(sql,new BeanPropertyRowMapper<User>(User.class),id);
}
@Override
public void updateUserById(User user) {
String sql="update user set name=?, gender=?, age=?, address=?, qq=?, email=? where id=?";
jdbcTemplate.update(sql,user.getName(), user.getGender(), user.getAge(), user.getAddress(), user.getQq(), user.getEmail(),user.getId());
}
@Override
public int findTotalCount(Map<String, String[]> condition) {
//1、定义一个sql模板
String sql="select count(*) from user where 1 = 1 ";
StringBuilder sb = new StringBuilder(sql);
//2、遍历map,拼装sql语句
Set<String> keySet = condition.keySet();
//定义一个参数的集合
List<Object> parameters = new ArrayList<Object>();
for (String key : keySet) {
//获取value
if("currentPage".equals(key) ||"rows".equals(key)){
continue;
}
String value = condition.get(key)[0];
if(value!=null && !"".equals(value)){
sb.append(" and "+key+" like ? ");
parameters.add("%"+value+"%"); //?条件的值
}
}
/* System.out.println(sb.toString());
System.out.println(parameters);*/
return jdbcTemplate.queryForObject(sb.toString(),Integer.class,parameters.toArray());
}
@Override
public List<User> findByPage(int startIndex, int rows, Map<String, String[]> condition) {
//1、定义一个末班初始化sql
String sql="select * from user where 1 = 1 ";
StringBuilder sb = new StringBuilder(sql);
//2、遍历map
Set<String> keySet = condition.keySet();
//3、定义参数的集合
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(startIndex);
params.add(rows);
/* System.out.println(sb);
System.out.println(params);*/
return jdbcTemplate.query(sb.toString(),new BeanPropertyRowMapper<User>(User.class),params.toArray());
}
}
用户信息查询系统_daoImpl的更多相关文章
- 老男孩Day4作业:员工信息查询系统
1.作业需求: (1).工信息表程序,实现增删改查操作: (2).可进行模糊查询,语法至少支持下面3种: select name,age from staff_table where ...
- C语言身份证信息查询系统(修改版)
很久以前写了一个<C语言身份证信息查询系统>,如果你点击链接进去看了. 估计也会被我那磅礴大气的代码震惊到的,最近复习/学习文件操作,把代码改了改,算是对以前还不会文件操作的时候的愿望,哈 ...
- bilibili用户信息查询
bilibili用户信息查询 http://space.bilibili.com/ajax/member/GetInfo?mid= 后缀为用户mid号 # -*- coding:utf-8 -*- # ...
- Linux用户信息查询
1 查询目前已登录的用户信息w 或者 who [@bjzw_11_210 ~]# w :: up days, :, users, load average: 0.03, 0.04, 0.00 USER ...
- Oracle用户信息查询
1.查看所有用户: select * from dba_users; select * from all_users; select * from user_users; 2.查看用户或角 ...
- 基于jsp+servlet图书管理系统之后台用户信息查询操作
上一篇的博客写的是插入操作,且附有源码和数据库,这篇博客写的是查询操作,附有从头至尾写的代码(详细的注释)和数据库! 此次查询操作的源码和数据库:http://download.csdn.net/de ...
- Linux用户管理及用户信息查询
useradd 创建用户,更改用户信息 1.工作原理流程 使用此命令式,若不加任何参数选项,直接跟用户名,那么系统会首先读取/etc/login.defs(用户定义文件)和/etc/default/u ...
- linux命令之用户管理及用户信息查询命令(下)
1.visudo:编辑sudoers文件 该命令专门用来编辑/etc/sudoers文件,同时提供语法检查等功能. 示例: 1)执行visudo对普通用户授权 [root@boxiaoyuan ~]# ...
- Liunx运维(七)-用户管理及用户信息查询命令
文档目录: 一.useradd:创建用户 二.usermod:修改用户信息 三.userdel:删除用户 四.groupadd:创建新的用户组 五.groupdel:删除用户组 六.passwd:修改 ...
随机推荐
- 印象最深的一个bug:sessionStorage缓存在移动端失效
无bug,不程序:作为程序员的我,不是修bug就是在写bug的路上. 移动端sessionStorage缓存失效是我"印象最深的一个bug"之一,为啥呢,因为这个问题导致我加班到很 ...
- 从零搭建vue3.0项目架构(附带代码、步骤详解)
前言: GitHub上我开源了vue-cli.vue-cli3两个库,文章末尾会附上GitHub仓库地址.这次把2.0的重新写了一遍,优化了一下.然后按照2.0的功能和代码,按照vue3.0的语法,完 ...
- [atAGC050F]NAND Tree
当$n$为偶数,暴力$o(n)$枚举第一次操作,以下只考虑$n$为奇数的情况 此时,$n-1$即操作次数为偶数,找到最小的$i$(其中$1\le i\le \frac{n-1}{2}$),满足第$2i ...
- 提升AI智能化水平,打造智慧新体验
内容来源:华为开发者大会2021 HMS Core 6 AI技术论坛,主题演讲<提升AI智能化水平,打造智慧新体验>. 演讲嘉宾:沈波,华为消费者AI与智慧全场景ML Kit产品总监 今天 ...
- C/C++ Qt 选择夹TabWidget组件应用
在Qt中通过使用选择夹组件可以实现在一个页面中集成多种功能,我们以TabWidget选择夹组件为例,实现在单个页面中集成多个功能,并给每一个子夹增加对应的Ico图标. 如果我们使用选择夹组件,必须提前 ...
- 随笔:关于.net core单文件AOT编译
.Net Core单文件发布已经很流畅了(vs已支持图形化操作发布). 但类似Go或者Graalvm JDK的完全事前编译为本地机器码的红能功能,还未发布于.net 6特性中,还处于实验室中. 另外, ...
- 【洛谷1340】兽径管理(最小生成树 Kruskal)(sort的一些技巧)【2012福建省信息学奥林匹克CCF NOIP夏令营第05天训练】
Description 约翰农场的牛群希望能够在 N 个(1<=N<=6000) 草地之间任意移动.草地的编号由 1到 N.草地之间有树林隔开.牛群希望能够选择草地间的路径,使牛群能够从任 ...
- STL的equal_range()
equal_range()根据键值,返回一对迭代器的pair对象. 如果该键值在容器中存在,则pair对象中的第一个迭代器指向该键关联的第一个实例,第二个迭代器指向该键关联的最后一个实例的下一位置. ...
- 【宏组学】如何根据taxid(或taxname)快速获得taxname(或taxid)?
需求 我有一个物种taxonomy ID的list,想获得相应的物种名,不要一个个去NCBI Taxonomy官网查.反之根据物种名list查询对应的taxid. 实现 因为之前没怎么用过,我的第一个 ...
- C7的开机自启动设置
CentOS 7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分 系统服务放在/usr/lib/systemd/system [Un ...