用java实现书城项目(简单增删改查2)
书城项目
登录
dao
接口:UserDao
Users login(String username,String password);
实现:UserDaoImpl
QueryRunner queryrunner = new QueryRunner();
Connection connection = createConnection();
Users query = null;
String sql = "select * from users where username=? and password=?";
query = queryrunner.query(connection,sql,new BeanHandler<>(Users.class),username,password);
return query;
services
接口:UserServices 同UserDao代码一致
实现:UserServicesImpl
UserDao userdao = new UserDaoImpl();
return userdao.login(username,password)
servlet
UserServlet:service
req.setCharacterEncoding("e-8");
String reqkey = req.getParameter("reqkey");
Method method= getClass().getDeclaredMethod(reqkey,HttpServletRequest.class,HttpServletResonse.class);
method.setAccessible(true);
method.invoke(this,req,resp);
UserServlet:tologin
//接收数据
String username = req.getParameter("username");
String password = req.getParameter("password");
//调取方法
UserServicesImpl userservices = new UserServicesImpl();
User users = userservices.login(username,password);
//根据结果跳转页面
if(users==null){
req.getRequestDispatcher("/pages/user/login.html").forword(req,resp);
}else{
req.getRequestDispatcher("/pages/user/login_success.html").forword(req,resp);
}
注册
dao
接口:UserDao
boolean regist(Users users);
实现:UserDaoImpl
QueryRunner queryrunner = new QueryRunner();
Connection connection = createConnection();
int i = 0;
String sql = "insert into users values(null,?,?,?)";
i=queryRunner.update(connection,sql,user.getUsername(),user.getPassword(),user.getEmail);
return i;
services
接口:UserServices 同UserDao代码一致
实现:UserServicesImpl
return userdao.regist(Users);
servlet
UserServlet:toregist
//接收数据
Users users = new Users();
resp.setContentType("text/html;charset=utf-8");
PrintWriter writer = req.getWriter();
Map<String, String[]> parameterMap = req.getParameterMap();
BeanUtils.populate(users,parameterMap);
//调取方法
boolean b = userservices.regist(Users);
//根据结果跳转页面
if(b){
writer.writer("<script type='text/javascript'>alert('注册成功');location.href='/pages/user/regist_success.html'</script>");
}else{
writer.writer("<script type='text/javascript'>alert('注册失败');location.href='/pages/user/regist.html'</script>");
}
查询图书
dao
接口:BookDao
List<Books> selectbooks();
实现:BookDaoImpl
QueryRunner queryrunner = new QueryRunner();
Connection connection = createConnection();
List<Books> booksList = null;
String sql = "select * from books";
booksList = queryRunner.query(connection,sql,new BeanListHandle<>(Books.class));
services
接口:BookServices 同BookDao
实现:BookServicesImpl
BookDaoImpl bookDao = new BookDaoImpl();
return bookDao.selectbooks();
servlet
BookServlet:selectbooks
List<Books> selectbooks = bookServices.selectbooks();
添加图书
dao
接口:BookDao
int insertbook(Books books);
实现:BookDaoImpl
Connection connection = createConnection();
int i = 0;
String sql = "insert into books values(null,?,?,?,?,?,?)";
i = queryRunner.update(connection,sql,books.getTitle(),books.getAuthor(), books.getPrice(), books.getSales(), books.getStock(), "/static/uploads/huozhe.jpg")
return i;
services
接口:BookServices 同BookDao
实现:BookServicesImpl
return bookDao.insertbook(books);
servlet
BookServlet:addbooks
Books book = new Books();
Map<String, String[]> parameterMap = req.getParameterMap();
BeanUtils.populate(book,parameterMap);
int i = bookServices.insertbook(book);
if(i>0){
resp.sendRedirect("/pages/manager/bookServlet?reqkey=selectbooks");
}else{
resp.sendRedirect("/pages/manager/book_add.html");
}
图书列表展示
dao
接口:BookDao
List<Books> selectbooks();
实现:BookDaoImpl
public List<Books> selectbooks(){
String sql = "select * from books";
List<Books> booksList = queryRunner.query(connection,sql,new BeanListHandler<>(Books.class));
return booksList;
}
services
接口:BookServices
实现:BookServicesImpl
servlet
BookServlet:selectbooks
List<Books> selectbooks = bookServices.selectbooks();
req.serAttribute("blist",selectbooks);
processTemplate("manager/book_manager",req,resp);
查询列表id
dao
接口:BookDao
Books findById(int bookId);
实现:BookDaoImpl
String sql = "select * from books where id=?";
Books books = queryRunner.query(connection,sql,new BeanHandler<>(Books.class),bookId);
return books;
services
servlet
BookServelet:findbybookid
String bookid = req.getParameter("bookid");
if(bookid = null){
throw new RuntimeException("bookid is null");
}
Books id = bookServices.findById(Integer.parseInt(bookid));
req.setAttribute("mybook",id);
processTemplate("manager/book_edit",req,resp);
修改图书
dao
接口:BookDao
int updatebook(Books books);
实现:BookDaoImpl
String sql = "update books set title=?,author=?,price=?,sales=?,stock=? where id=?";
int i = queryRunner.update(connection,sql,books.getTitle(),books.getAuthor(),books.getPrice,books.getSales(),books.getStock(),books.getId());
return i;
services
servlet
BookServelet:updatebook
Books books = new Books();
Map<String, String[]> parameterMap = req.getParameterMap();
BeanUtils.populate(books,parameterMap);
int i = bookServices.updatebook(books);
if(i>0){
resp.sendRedirect("/pages/manager/bookServlet?reqkey=selectbooks");
}else{
resp.sendRedirect("/pages/manager/bookServlet?reqkey=findbybooks&bookid="+books.getId());
}
删除图书
dao
接口:BookDao
int deletebook(int bookId);
实现:BookDaoImpl
String sql = "delete from books where id =?";
int i = queryRunnering.update(connection,sql,bookId);
return i;
services
servlet
BookServlet:deletebyid
String id = req.getParameter("bookid");
if(id == null){
throw new RuntimeException("bookid is null");
}
int i = bookServices.deletebook(Integer.parseInt(id));
resp.sendRedirect("/pages/manager/bookServlet?reqkey=selectbooks");
用java实现书城项目(简单增删改查2)的更多相关文章
- Java连接Zookeeper以及书写简单增删改查的方法
Java连接Zookeeper以及书写简单增删改查的方法 摘要:本笔记主要记录了使用IDEA创建一个Maven项目并使用Maven配置文件下载Zookeeper连接驱动,连接云服务器的Zookee ...
- Mybatis实现简单增删改查
Mybatis的简单应用 学习内容: 需求 环境准备 代码 总结: 学习内容: 需求 使用Mybatis实现简单增删改查(以下是在IDEA中实现的,其他开发工具中,代码一样) jar 包下载:http ...
- ado.net的简单数据库操作(三)——简单增删改查的实际应用
果然,在犯困的时候就该写写博客,写博客就不困了,哈哈! 上篇我记录了自己的SqlHelper的开发过程,今天记录一下如何使用这个sqlhelper书写一个具有简单增删改查的小实例啦. 实例描述:在数据 ...
- Redis:五种数据类型的简单增删改查
Redis简单增删改查例子 例一:字符串的增删改查 #增加一个key为ay_key的值 127.0.0.1:6379> set ay_key "ay" OK #查询ay_ke ...
- 国产化之路-统信UOS + Nginx + Asp.Net MVC + EF Core 3.1 + 达梦DM8实现简单增删改查操作
专题目录 国产化之路-统信UOS操作系统安装 国产化之路-国产操作系统安装.net core 3.1 sdk 国产化之路-安装WEB服务器 国产化之路-安装达梦DM8数据库 国产化之路-统信UOS + ...
- java对xml文件做增删改查------摘录
java对xml文件做增删改查 package com.wss; import java.io.File;import java.util.ArrayList;import java.util.Lis ...
- 使用java对sql server进行增删改查
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import ...
- Java API实现Hadoop文件系统增删改查
Java API实现Hadoop文件系统增删改查 Hadoop文件系统可以通过shell命令hadoop fs -xx进行操作,同时也提供了Java编程接口 maven配置 <project x ...
- .net core项目搭建swagger接口实现简单增删改查
.net core搭建swagger 1,新建立.net core项目(这里不再细说) 2,引入NuGet程序包 3,建立项目之后在Startup类中配置swagger 这里我直接把代码贴出来: 在C ...
- 【ES】ElasticSearch初体验之使用Java进行最基本的增删改查~
好久没写博文了, 最近项目中使用到了ElaticSearch相关的一些内容, 刚好自己也来做个总结. 现在自己也只能算得上入门, 总结下自己在工作中使用Java操作ES的一些小经验吧. 本文总共分为三 ...
随机推荐
- python快速入门【六】----真题测试
python入门合集: python快速入门[一]-----基础语法 python快速入门[二]----常见的数据结构 python快速入门[三]-----For 循环.While 循环 python ...
- 7.6 Windows驱动开发:内核监控FileObject文件回调
本篇文章与上一篇文章<内核注册并监控对象回调>所使用的方式是一样的都是使用ObRegisterCallbacks注册回调事件,只不过上一篇博文中LyShark将回调结构体OB_OPERAT ...
- iOS视频播放常用重点知识
iOS视频播放常见的重要知识点如下: 视频格式:iOS支持的视频格式主要有H.264.MPEG-4.H.263.Sorenson等.它们根据不同的应用场景进行使用. 视频编解码:视频编解码技术是视频播 ...
- MySQL 中 的 bit 类型,tinyint(1);
之前一直以为 mysql中没有 bit类型,需要使用 tinyint 来标识 bit.但是前端的实体类,不好控制,后来发现这些问题已经有了默认的统一设置,这样反而更好. 总结:MySQL中 使用布尔类 ...
- DBGRIDEH 底部多列 发现
1.设置底部行数 2.点击footers 单独对每一行进行设置 3.单独对这两行 进行设置 5.看下辅助 所以用的时候可以这样用:WeiTopTradeShow.FieldColumns['top_x ...
- 如何基于 spdlog 在编译期提供类 logrus 的日志接口
如何基于 spdlog 在编译期提供类 logrus 的日志接口 实现见 Github,代码简单,只有一个头文件. 前提 几年前看到戈君在知乎上的一篇文章,关于打印日志的一些经验总结: 实践下来很受用 ...
- 面试官:谈一谈你对 redis 分布式锁的理解
为什么需要分布式锁 在 jdk 中为我们提供了多种加锁的方式: (1)synchronized 关键字 (2)volatile + CAS 实现的乐观锁 (3)ReadWriteLock 读写锁 ( ...
- JLink OB相关的一些记录
使用 STM32F103 Bluepill 制作 JLink OB https://github.com/GCY/JLINK-ARM-OB https://stm32duinoforum.com/fo ...
- 将字符串"a,b,c"以逗号分隔转换为数组并打印
主要利用了String的split方法. package com.dylan.test; /** * @author xusucheng * @create 2017-12-22 **/ public ...
- win32 - service的创建
参考这篇教程:Simple Windows Service in C++ 安装service需要在管理员权限下运行cmd,并输入下面的命令行 C:\>sc create "My Sam ...