package com.ty.dao;
import com.mysql.cj.util.StringUtils;
import com.ty.bean.PageInfo;
import com.ty.bean.User;
import com.ty.utils.JdbcUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class UserDao {
private QueryRunner qr;
public UserDao() {
qr = new QueryRunner(JdbcUtils.getDataSource());
}
//添加
public void insert(User user){
try {
String sql = "insert into user values(null,?,?,?,?,?,?)";
qr.update(sql,user.getUsername(),user.getPassword(),user.getCreatedate(),user.getSex(),user.getLike(),user.getPhoto());
System.out.println("注册成功");
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
//登录查询
public User login(String username,String password){
User user = null;
try {
String sql = "select * from user where username=? and password=?";
List<User> users = qr.query(sql, new BeanListHandler<User>(User.class),username,password);
if (users.size()>0){//表示查到了匹配的账号数据
user = users.get(0);
}
} catch (SQLException throwables) {
throwables.printStackTrace();
}
return user;
}
//查询,按条件查询
public PageInfo query(String username, String sex,int pageNum,int pageSize){
PageInfo pageInfo = null;
try {
// String sql = "select * from user where username like ? and sex=?";
// users = qr.query(sql,new BeanListHandler<User>(User.class),"%" +username+ "%",sex);
StringBuilder sb = new StringBuilder("select * from user where 1=1");//用StringBuilder拼装sql字符串
ArrayList<Object> params = new ArrayList<>();//收集?对应的数据
if(!StringUtils.isNullOrEmpty(username)){//用户名非空,则参与sql查询
sb.append(" and username like ?");
params.add("%"+username+"%");
}
if (!StringUtils.isNullOrEmpty(sex)){
sb.append(" and sex=?");
params.add(sex);
}
//查询所有满足条件的数据
String sql = sb.toString();//得到最终的sql语句
List<User> totalUsers = qr.query(sql, new BeanListHandler<User>(User.class), params.toArray());//params可以做为参数传入
int total = totalUsers.size();//获得满足条件的数据的总数量
//分页的sql 0 1 2 3 4 5 6 7
sb.append(" limit ?,?");//添加分页
params.add((pageNum-1)*pageSize);//分页第一个?赋值:开始下标
params.add(pageSize);//分页第二个?赋值:每页显示条数
sql = sb.toString();
//查询当前页的数据
List<User> users = qr.query(sql, new BeanListHandler<User>(User.class), params.toArray());
pageInfo = new PageInfo(pageNum,pageSize,0,total,users);//创建分页对象
} catch (SQLException throwables) {
throwables.printStackTrace();
}
return pageInfo;
}
public void delete(int id) {
String sql = "delete from user where id=?";
try {
qr.update(sql,id);
System.out.println("删除成功");
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
public User findByid(int id) {
String sql = "select * from user where id=?";
User user = null;
try {
user = qr.query(sql, new BeanHandler<User>(User.class), id);//通过id查询修改的数据
} catch (SQLException throwables) {
throwables.printStackTrace();
}
return user;//返回查询的修改对象
}
//实现最终的修改
public void update(User user) {
String sql = "update user set username=?,password=?,createdate=?,sex=?,`like`=? where id=?";
try {
qr.update(sql,user.getUsername(),user.getPassword(),user.getCreatedate(),user.getSex(),user.getLike(),user.getId());
} catch (SQLException throwables) {
throwables.printStackTrace();
}
System.out.println("修改成功");
}
//通过账户名查询数据库,得到结果集
public List<User> checkName(String username) {
List<User> users = null;
String sql = "select * from user where username=?";
try {
users = qr.query(sql,new BeanListHandler<User>(User.class),username);
} catch (SQLException throwables) {
throwables.printStackTrace();
}
return users;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
2202Aweb2.rar
共93个文件
class:32个
java:16个
jar:14个
需积分: 5 0 下载量 102 浏览量
2022-10-27
15:33:23
上传
评论
收藏 9.65MB RAR 举报
温馨提示
2202Aweb2.rar
资源推荐
资源详情
资源评论
收起资源包目录
2202Aweb2.rar (93个子文件)
2202Aweb2
src
com
ty
dao
UserDao.java 5KB
bean
User.java 3KB
PageInfo.java 2KB
servlet
BServlet.java 512B
UserListServlet.java 2KB
CheckNameServlet.java 1KB
UpdateServlet.java 2KB
CServlet.java 3KB
RegistServlet.java 3KB
AServlet.java 2KB
LoginServlet.java 2KB
FindByIdServlet.java 1KB
DeleteServlet.java 1KB
service
UserServiceImpl.java 2KB
UserService.java 611B
utils
JdbcUtils.java 717B
c3p0-config.xml 766B
.idea
misc.xml 278B
modules.xml 265B
workspace.xml 10KB
.gitignore 184B
libraries
jsp_api.xml 300B
c3p0_0_9_2_pre1.xml 598B
jstl_1_2.xml 226B
artifacts
2202Aweb2_war_exploded.xml 511B
out
artifacts
2202Aweb2_war_exploded
upload
53334d84-f8a1-40a5-aae0-5e90e993db67.png 2.07MB
WEB-INF
web.xml 2KB
classes
com
ty
dao
UserDao.class 5KB
bean
PageInfo.class 3KB
User.class 3KB
servlet
FindByIdServlet.class 2KB
CheckNameServlet.class 1KB
LoginServlet.class 2KB
UpdateServlet.class 2KB
CServlet.class 2KB
AServlet.class 2KB
DeleteServlet.class 1KB
RegistServlet.class 4KB
UserListServlet.class 2KB
BServlet.class 928B
service
UserService.class 460B
UserServiceImpl.class 2KB
utils
JdbcUtils.class 755B
c3p0-config.xml 766B
lib
mysql-connector-java-8.0.26.jar 2.35MB
c3p0-0.9.2-pre1.jar 414KB
servlet-api.jar 239KB
jstl-1.2.jar 405KB
mchange-commons-0.2.jar 538KB
jsp-api.jar 60KB
commons-dbutils-1.4.jar 96KB
js
jquery-2.2.1.min.js 84KB
user_list.jsp 6KB
login.jsp 1KB
index.jsp 397B
regist.jsp 8KB
update_user.jsp 1KB
welcome.html 144B
success.jsp 440B
web
WEB-INF
web.xml 2KB
classes
com
ty
dao
UserDao.class 5KB
bean
PageInfo.class 3KB
User.class 3KB
servlet
FindByIdServlet.class 2KB
CheckNameServlet.class 1KB
LoginServlet.class 2KB
UpdateServlet.class 2KB
CServlet.class 2KB
AServlet.class 2KB
DeleteServlet.class 1KB
RegistServlet.class 4KB
UserListServlet.class 2KB
BServlet.class 928B
service
UserService.class 460B
UserServiceImpl.class 2KB
utils
JdbcUtils.class 755B
c3p0-config.xml 766B
lib
mysql-connector-java-8.0.26.jar 2.35MB
c3p0-0.9.2-pre1.jar 414KB
servlet-api.jar 239KB
jstl-1.2.jar 405KB
mchange-commons-0.2.jar 538KB
jsp-api.jar 60KB
commons-dbutils-1.4.jar 96KB
js
jquery-2.2.1.min.js 84KB
user_list.jsp 6KB
login.jsp 1KB
index.jsp 397B
regist.jsp 8KB
update_user.jsp 1KB
welcome.html 144B
success.jsp 440B
2202Aweb2.iml 1KB
共 93 条
- 1
资源评论
weixin_73164030
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功