pojo 代码
Book
package com.atguigu.pojo; import java.math.BigDecimal; public class Book { private Integer id; private String name; private String author; private BigDecimal price; private Integer sales; private Integer stock; private String imgPath="static/img/default.jpg"; public Book() { } public Book(Integer id, String name, String author, BigDecimal price, Integer sales, Integer stock, String imgPath) { this.id = id; this.name = name; this.author = author; this.price = price; this.sales = sales; this.stock = stock; //要求给定的图书封面图片路径不能为空 if (imgPath!=null&& !"".equals(imgPath)){ this.imgPath = imgPath; } } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } public BigDecimal getPrice() { return price; } public void setPrice(BigDecimal price) { this.price = price; } public Integer getSales() { return sales; } public void setSales(Integer sales) { this.sales = sales; } public Integer getStock() { return stock; } public void setStock(Integer stock) { this.stock = stock; } public String getImgPath() { return imgPath; } public void setImgPath(String imgPath) { //要求给定的图书封面图片路径不能为空 if (imgPath!=null&& !"".equals(imgPath)){ this.imgPath = imgPath; } } @Override public String toString() { return "Book{" + "id=" + id + ", name='" + name + '\'' + ", author='" + author + '\'' + ", price=" + price + ", sales=" + sales + ", stock=" + stock + ", imgPath='" + imgPath + '\'' + '}'; } }
Cart
package com.atguigu.pojo; import java.math.BigDecimal; import java.util.LinkedHashMap; import java.util.Map; /** * 购物车对象 */ public class Cart { // private Integer totalCount; // private BigDecimal totalPrice; /** * key是商品编号 * value是商品信息 */ private Map<Integer,CartItem> items=new LinkedHashMap<>(); /** * 添加商品项 * @param cartItem */ public void addItem(CartItem cartItem){ //Crtl+Shift+T // 先查看购物车中是否添加过此商品,如果已添加,则数量累加,总金额更新,如果,没有添加过,直接放入集合中即可 CartItem item = items.get(cartItem.getId()); if (item==null){ //之前没添加 items.put(cartItem.getId(),cartItem); }else { //已添加 item.setCount(item.getCount()+1);//数量累加 item.setTotalPrice(cartItem.getPrice().multiply(new BigDecimal(item.getCount())));//总金额更新 } } /* * 删除商品项 */ public void deleteItem(Integer id){ items.remove(id); } /* * 清空购物车 */ public void clear(){ items.clear(); } /* * 修改商品数量 */ public void updateCount(Integer id,Integer count){ //先查看购物车中是否有次商品。如果有,则修改数量,更新总金额 CartItem cartItem = items.get(id); if (cartItem!=null){ cartItem.setCount(count);//修改数量 cartItem.setTotalPrice(cartItem.getPrice().multiply(new BigDecimal(cartItem.getCount())));//总金额更新 } } public Integer getTotalCount() { Integer totalCount=0; for (Map.Entry<Integer,CartItem> entry:items.entrySet()) { totalCount+=entry.getValue().getCount(); } return totalCount; } // public void setTotalCount(Integer totalCount) { // this.totalCount = totalCount; // } public BigDecimal getTotalPrice() { BigDecimal totalPrice =new BigDecimal(0); for (Map.Entry<Integer,CartItem> entry:items.entrySet()) { totalPrice=totalPrice.add(entry.getValue().getTotalPrice()); } return totalPrice; } // public void setTotalPrice(BigDecimal totalPrice) { // this.totalPrice = totalPrice; // } public Map<Integer, CartItem> getItems() { return items; } public void setItems(Map<Integer, CartItem> items) { this.items = items; } @Override public String toString() { return "Cart{" + "totalCount=" + getTotalCount() + ", totalPrice=" + getTotalPrice() + ", items=" + items + '}'; } }
CartItem
package com.atguigu.pojo; import java.math.BigDecimal; /** * 购物车的商品相 */ public class CartItem { private Integer id; private String name; private Integer count; private BigDecimal Price; private BigDecimal totalPrice; public CartItem() { } public CartItem(Integer id, String name, Integer count, BigDecimal price, BigDecimal totalPrice) { this.id = id; this.name = name; this.count = count; Price = price; this.totalPrice = totalPrice; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getCount() { return count; } public void setCount(Integer count) { this.count = count; } public BigDecimal getTotalPrice() { return totalPrice; } public void setTotalPrice(BigDecimal totalPrice) { this.totalPrice = totalPrice; } public BigDecimal getPrice() { return Price;`在这里插入代码片` } public void setPrice(BigDecimal price) { Price = price; } @Override public String toString() { return "CartIem{" + "id=" + id + ", name='" + name + '\'' + ", count=" + count + ", totalPrice=" + totalPrice + '}'; } }
Order
package com.atguigu.pojo; import java.math.BigDecimal; import java.util.Date; public class Order { private String orderId; private Date createTime; private BigDecimal price; //0未发货,1已发货,2已签收 private Integer status=0; private Integer userId; public Order() { } public Order(String orderId, Date createTime, BigDecimal price, Integer status, Integer userId) { this.orderId = orderId; this.createTime = createTime; this.price = price; this.status = status; this.userId = userId; } public String getOrderId() { return orderId; } public void setOrderId(String orderId) { this.orderId = orderId; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public BigDecimal getPrice() { return price; } public void setPrice(BigDecimal price) { this.price = price; } public Integer getStatus() { return status; } public void setStatus(Integer status) { this.status = status; } public Integer getUserId() { return userId; } public void setUserId(Integer userId) { this.userId = userId; } @Override public String toString() { return "Order{" + "orderId='" + orderId + '\'' + ", createTime=" + createTime + ", price=" + price + ", status=" + status + ", userId=" + userId + '}'; } }
OrderItem
package com.atguigu.pojo; import java.math.BigDecimal; public class OrderItem { private Integer id; private String name; private Integer count; private BigDecimal price; private BigDecimal totalPrice; private String orderId; public OrderItem() { } public OrderItem(Integer id, String name, Integer count, BigDecimal price, BigDecimal totalPrice, String orderId) { this.id = id; this.name = name; this.count = count; this.price = price; this.totalPrice = totalPrice; this.orderId = orderId; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getCount() { return count; } public void setCount(Integer count) { this.count = count; } public BigDecimal getPrice() { return price; } public void setPrice(BigDecimal price) { this.price = price; } public BigDecimal getTotalPrice() { return totalPrice; } public void setTotalPrice(BigDecimal totalPrice) { this.totalPrice = totalPrice; } public String getOrderId() { return orderId; } public void setOrderId(String orderId) { this.orderId = orderId; } @Override public String toString() { return "OrderItem{" + "id=" + id + ", name='" + name + '\'' + ", count=" + count + ", price=" + price + ", totalPrice=" + totalPrice + ", orderId='" + orderId + '\'' + '}'; } }
Page
package com.atguigu.pojo; import java.util.List; /** * Page是分页的模型对象 * @param <T> 具体的模块的Javabean类 */ public class Page <T>{ public static final Integer PAGE_SIZE =4; //当前页码 private Integer pageNo; //总页码 private Integer pageTotal; //当前显示数量 private Integer pageSize= PAGE_SIZE; //总记录数 private Integer pageTotalCount; //当前页数据 private List<T> items; //分页条的请求地址 private String url; public Integer getPageNo() { return pageNo; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public void setPageNo(Integer pageNo) { /*数据边界的有效检查*/ if (pageNo<1){ pageNo=1; } if (pageNo>pageTotal){ pageNo=pageTotal; } this.pageNo = pageNo; } public Integer getPageTotal() { return pageTotal; } public void setPageTotal(Integer pageTotal) { this.pageTotal = pageTotal; } public Integer getPageSize() { return pageSize; } public void setPageSize(Integer pageSize) { this.pageSize = pageSize; } public Integer getPageTotalCount() { return pageTotalCount; } public void setPageTotalCount(Integer pageTotalCount) { this.pageTotalCount = pageTotalCount; } public List<T> getItems() { return items; } public void setItems(List<T> items) { this.items = items; } @Override public String toString() { return "Page{" + "pageNo=" + pageNo + ", pageTotal=" + pageTotal + ", pageSize=" + pageSize + ", pageTotalCount=" + pageTotalCount + ", items=" + items + ", url='" + url + '\'' + '}'; } }
User
package com.atguigu.pojo; public class User { private Integer id; private String username; private String password; private String email; public User() { } public User(Integer id, String username, String password, String email) { this.id = id; this.username = username; this.password = password; this.email = email; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String name) { this.username = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } @Override public String toString() { return "User{" + "id=" + id + ", username='" + username + '\'' + ", password='" + password + '\'' + ", email='" + email + '\'' + '}'; } }
service 框架
service 代码
impl
BookServiceImpl
package com.atguigu.service.impl; import com.atguigu.dao.BookDao; import com.atguigu.dao.impl.BookDaoImpl; import com.atguigu.pojo.Book; import com.atguigu.pojo.Page; import com.atguigu.service.BookService; import java.util.List; public class BookServiceImpl implements BookService { private BookDao bookDao=new BookDaoImpl(); @Override public void addBook(Book book) { bookDao.addBook(book); } @Override public void deleteBookById(Integer id) { bookDao.deleteBook(id); } @Override public void updateBook(Book book) { bookDao.updateBook(book); } @Override public Book queryBookById(Integer id) { return bookDao.queryBookById(id); } @Override public List<Book> queryBooks() { return bookDao.queryBooks(); } @Override public Page<Book> page(int pageNo, int pageSize) { Page<Book> page=new Page<>(); //设置每页显示的数量 page.setPageSize(pageSize); //求总记录数 Integer pageTotalCount=bookDao.queryForPageTotalCount();//创建 //设置总记录数 page.setPageTotalCount(pageTotalCount); //求总页码 Integer pageTotal=pageTotalCount/pageSize; if (pageTotalCount%pageSize>0){ pageTotal+=1; } //设置总页码 page.setPageTotal(pageTotal); //设置当前页码 page.setPageNo(pageNo);//必须在setPageTotal之后 //求当前页数据的开始索引 int begin=(page.getPageNo()-1)*pageSize; //求当前页数据 List<Book> items=bookDao.queryForPageItems(begin,pageSize);//创建 //设置当前页数据 page.setItems(items); return page; } //Ctrl+I @Override public Page<Book> pageByPrice(int pageNo, int pageSize, int min, int max) { Page<Book> page=new Page<>(); //设置每页显示的数量 page.setPageSize(pageSize); //求总记录数 Integer pageTotalCount=bookDao.queryForPageTotalCountByPrice(min,max);//创建 //设置总记录数 page.setPageTotalCount(pageTotalCount); //求总页码 Integer pageTotal=pageTotalCount/pageSize; if (pageTotalCount%pageSize>0){ pageTotal+=1; } //设置总页码 page.setPageTotal(pageTotal); //设置当前页码 page.setPageNo(pageNo);//必须在setPageTotal之后 //求当前页数据的开始索引 int begin=(page.getPageNo()-1)*pageSize; //求当前页数据 List<Book> items=bookDao.queryForPageItemsByPrice(begin,pageSize,min,max);//创建 //设置当前页数据 page.setItems(items); return page; } }
OrderServiceImpl
package com.atguigu.service.impl; import com.atguigu.dao.BookDao; import com.atguigu.dao.OrderDao; import com.atguigu.dao.OrderItemDao; import com.atguigu.dao.impl.BookDaoImpl; import com.atguigu.dao.impl.OrderDaoImpl; import com.atguigu.dao.impl.OrderItemDaoImpl; import com.atguigu.pojo.*; import com.atguigu.service.OrderService; import java.util.Date; import java.util.List; import java.util.Map; public class OrderServiceImpl implements OrderService { private OrderDao orderDao =new OrderDaoImpl(); private OrderItemDao orderItemDao=new OrderItemDaoImpl(); private BookDao bookDao=new BookDaoImpl(); @Override public String createOrder(Cart cart, Integer userId) { System.out.println("OrderServiceImpl 程序在["+Thread.currentThread().getName()+"]中"); //订单号==唯一性 String orderId=System.currentTimeMillis()+""+userId; //创建一个订单对象 Order order=new Order(orderId,new Date(),cart.getTotalPrice(),0,userId); //保存订单 orderDao.saveOrder(order); //模拟错误 // int i=12/0; //遍历购物车中每一个商品项转换为订单保存到数据库 for (Map.Entry<Integer, CartItem>entry:cart.getItems().entrySet()) { //获取购物车每一个商品项 CartItem cartItem=entry.getValue(); //转换为订单 OrderItem orderItem=new OrderItem(null,cartItem.getName(),cartItem.getCount(),cartItem.getPrice(),cartItem.getTotalPrice(),orderId); //保存到数据库 orderItemDao.saveOrderItem(orderItem); //更新库存和销量 Book book = bookDao.queryBookById(cartItem.getId()); book.setSales(book.getSales()+cartItem.getCount()); book.setStock(book.getStock()-cartItem.getCount()); bookDao.updateBook(book); } //清空购物车 cart.clear(); return orderId; } @Override public List<Order> showAllOrders() { return orderDao.queryOrders(); } @Override public int sendOrder(String orderId) { return orderDao.changeOrderStatus(orderId,1); } @Override public List<OrderItem> showOrderDetail(String orderId) { return orderItemDao.queryOrderItemByOrderId(orderId); } @Override public List<Order> showMyOrders(int userId) { return orderDao.queryByUserId(userId); } @Override public int receiverOrder(String orderId) { return orderDao.changeOrderStatus(orderId,2); } }
UserServiceImpl
package com.atguigu.service.impl; import com.atguigu.dao.UserDao; import com.atguigu.dao.impl.UserDaoImpl; import com.atguigu.pojo.User; import com.atguigu.service.UserService; public class UserServiceImpl implements UserService { private UserDao userDao=new UserDaoImpl(); @Override public void registUser(User user) { userDao.saveUser(user); } @Override public User login(User user) { return userDao.queryUserByUsernameAndPassword(user.getUsername(),user.getPassword()); } @Override public boolean existsUsername(String username) { if (userDao.queryUserByUsername(username)==null){ //等于null,说明没查到,没查到表示可用 return false; } return true; } }
BookService
package com.atguigu.service; import com.atguigu.pojo.Book; import com.atguigu.pojo.Page; import java.util.List; public interface BookService { //Ctrl+Shift+T public void addBook(Book book); public void deleteBookById(Integer id); public void updateBook(Book book); public Book queryBookById(Integer id); public List<Book> queryBooks(); Page<Book> page(int pageNo, int pageSize); Page<Book> pageByPrice(int pageNo, int pageSize, int min, int max); }
OrderService
package com.atguigu.service; import com.atguigu.pojo.Cart; import com.atguigu.pojo.Order; import com.atguigu.pojo.OrderItem; import java.util.List; public interface OrderService { public String createOrder(Cart cart,Integer userId); public List<Order> showAllOrders(); public int sendOrder(String orderId); public List<OrderItem> showOrderDetail(String orderId); public List<Order> showMyOrders(int userId); public int receiverOrder(String orderId); }
UserService
package com.atguigu.service; import com.atguigu.pojo.User; public interface UserService { /** * 注册用户 * @param user */ public void registUser(User user); /** * 登录用户 * @param user * @return 如果返回null,说明登录失败,返回有值,是登录成功 */ public User login(User user); /** * 检查用户名是否可用 * @param username * @return 返回true表示用户名已存在,返回false表示用户名可用 */ public boolean existsUsername(String username); }
test 框架 (相关测试)
test 代码 (相关测试)
BookDaoTest
package com.atguigu.test; import com.atguigu.dao.BookDao; import com.atguigu.dao.impl.BookDaoImpl; import com.atguigu.pojo.Book; import com.atguigu.pojo.Page; import org.junit.Test; import java.math.BigDecimal; public class BookDaoTest { private BookDao bookDao=new BookDaoImpl(); @Test public void addBook() { bookDao.addBook(new Book(null,"我为什么这么帅!","191125",new BigDecimal(9999),1100000,0,null)); } //最后测试 @Test public void deleteBook() { bookDao.deleteBook(4); } @Test public void updateBook() { bookDao.updateBook(new Book(4,"我们都很帅!","191125",new BigDecimal(9999),1100000,0,null)); } @Test public void queryBookById() { System.out.println(bookDao.queryBookById(4)); } @Test public void queryBooks() { for (Book queryBook: bookDao.queryBooks()) { System.out.println(queryBook); } } @Test public void testQueryForPageTotalCount() { System.out.println(bookDao.queryForPageTotalCount()); } @Test public void testQueryForPageItems() { for (Book book:bookDao.queryForPageItems(1, Page.PAGE_SIZE)){ System.out.println(book); } } @Test public void testQueryForPageTotalCountByPrice() { System.out.println(bookDao.queryForPageTotalCountByPrice(10,50)); } @Test public void testQueryForPageItemsByPrice() { for (Book book:bookDao.queryForPageItemsByPrice(0, Page.PAGE_SIZE,10,50)){ System.out.println(book); } } }
BookServiceTest
package com.atguigu.test; import com.atguigu.pojo.Book; import com.atguigu.pojo.Page; import com.atguigu.service.BookService; import com.atguigu.service.impl.BookServiceImpl; import org.junit.Test; import java.math.BigDecimal; public class BookServiceTest { private BookService bookService=new BookServiceImpl(); @Test public void addBook() { bookService.addBook(new Book(null,"天下我有!","1125",new BigDecimal(999),10000,0,null)); } //最后测试 @Test public void deleteBookById() { bookService.deleteBookById(5); } @Test public void updateBook() { bookService.updateBook(new Book(5,"天下都有!","1125",new BigDecimal(999),10,9999,null)); } @Test public void queryBookById() { System.out.println(bookService.queryBookById(5)); } @Test public void queryBooks() { for (Book queryBook:bookService.queryBooks()) { System.out.println(queryBook); } } @Test public void page(){ System.out.println((bookService.page(2, Page.PAGE_SIZE))); } @Test public void pageByPrice(){ System.out.println((bookService.pageByPrice(1, Page.PAGE_SIZE,10,50))); } }
CartTest
package com.atguigu.test; import com.atguigu.pojo.Cart; import com.atguigu.pojo.CartItem; import org.junit.Test; import java.math.BigDecimal; public class CartTest { @Test public void addItem() { Cart cart=new Cart(); cart.addItem(new CartItem(1,"java",1,new BigDecimal(1000),new BigDecimal(1000))); cart.addItem(new CartItem(1,"java",1,new BigDecimal(1000),new BigDecimal(1000))); cart.addItem(new CartItem(2,"数据结构与算法",1,new BigDecimal(100),new BigDecimal(100))); System.out.println(cart); } @Test public void deleteItem() { Cart cart=new Cart(); cart.addItem(new CartItem(1,"java",1,new BigDecimal(1000),new BigDecimal(1000))); cart.addItem(new CartItem(1,"java",1,new BigDecimal(1000),new BigDecimal(1000))); cart.addItem(new CartItem(2,"数据结构与算法",1,new BigDecimal(100),new BigDecimal(100))); cart.deleteItem(1); System.out.println(cart); } @Test public void clear() { Cart cart=new Cart(); cart.addItem(new CartItem(1,"java",1,new BigDecimal(1000),new BigDecimal(1000))); cart.addItem(new CartItem(1,"java",1,new BigDecimal(1000),new BigDecimal(1000))); cart.addItem(new CartItem(2,"数据结构与算法",1,new BigDecimal(100),new BigDecimal(100))); cart.deleteItem(1); cart.clear(); System.out.println(cart); } @Test public void updateCount() { Cart cart=new Cart(); cart.addItem(new CartItem(1,"java",1,new BigDecimal(1000),new BigDecimal(1000))); cart.addItem(new CartItem(1,"java",1,new BigDecimal(1000),new BigDecimal(1000))); cart.addItem(new CartItem(2,"数据结构与算法",1,new BigDecimal(100),new BigDecimal(100))); cart.deleteItem(1); cart.clear(); cart.addItem(new CartItem(1,"java",1,new BigDecimal(1000),new BigDecimal(1000))); cart.updateCount(1,10); System.out.println(cart); } }
JdbcUtilsTest
package com.atguigu.test; import org.junit.Test; public class JdbcUtilsTest { @Test public void testJdbcUtils(){ // for (int i = 0; i < 100; i++) { // Connection connection = JdbcUtils.getConnection(); // System.out.println(connection); // JdbcUtils.close(connection); // } } }
OrderDaoTest
package com.atguigu.test; import com.atguigu.dao.OrderDao; import com.atguigu.dao.impl.OrderDaoImpl; import com.atguigu.pojo.Order; import org.junit.Test; import java.math.BigDecimal; import java.util.Date; import java.util.List; public class OrderDaoTest { @Test public void saveOrder() { OrderDao orderDao=new OrderDaoImpl(); orderDao.saveOrder(new Order("1234567890",new Date(),new BigDecimal(100),0,1)); } @Test public void queryOrders() { OrderDao orderDao=new OrderDaoImpl(); List<Order> orders = orderDao.queryOrders(); System.out.println(orders); } @Test public void changeOrderStatus() { OrderDao orderDao=new OrderDaoImpl(); orderDao.changeOrderStatus("1",1); } @Test public void queryByUserId() { OrderDao orderDao=new OrderDaoImpl(); List<Order> orders = orderDao.queryByUserId(1); System.out.println(orders); } }
OrderItemDaoTest
package com.atguigu.test; import com.atguigu.dao.OrderItemDao; import com.atguigu.dao.impl.OrderItemDaoImpl; import com.atguigu.pojo.OrderItem; import org.junit.Test; import java.math.BigDecimal; import java.util.List; public class OrderItemDaoTest { @Test public void saveOrderItem() { OrderItemDao orderItemDao=new OrderItemDaoImpl(); orderItemDao.saveOrderItem(new OrderItem(null,"java",1,new BigDecimal(100),new BigDecimal(100),"1234567890")); orderItemDao.saveOrderItem(new OrderItem(null,"js",2,new BigDecimal(100),new BigDecimal(200),"1234567890")); orderItemDao.saveOrderItem(new OrderItem(null,"Netty",1,new BigDecimal(100),new BigDecimal(100),"1234567890")); } @Test public void queryOrderItemByOrderId() { OrderItemDao orderItemDao=new OrderItemDaoImpl(); List<OrderItem> orderItems = orderItemDao.queryOrderItemByOrderId("1234567890"); System.out.println(orderItems); } }
OrderServiceTest
package com.atguigu.test; import com.atguigu.pojo.Cart; import com.atguigu.pojo.CartItem; import com.atguigu.pojo.Order; import com.atguigu.pojo.OrderItem; import com.atguigu.service.OrderService; import com.atguigu.service.impl.OrderServiceImpl; import org.junit.Test; import java.math.BigDecimal; import java.util.List; public class OrderServiceTest { private OrderService orderService=new OrderServiceImpl(); @Test public void createOrder() { Cart cart=new Cart(); cart.addItem(new CartItem(1,"java",1,new BigDecimal(1000),new BigDecimal(1000))); cart.addItem(new CartItem(1,"java",1,new BigDecimal(1000),new BigDecimal(1000))); cart.addItem(new CartItem(2,"数据结构与算法",1,new BigDecimal(100),new BigDecimal(100))); OrderService orderService=new OrderServiceImpl(); System.out.println("订单号是:"+orderService.createOrder(cart, 1)); } @Test public void showAllOrders() { List<Order> orders = orderService.showAllOrders(); System.out.println(orders); } @Test public void sendOrder() { int i = orderService.sendOrder("1"); System.out.println(i); } @Test public void showOrderDetail() { List<OrderItem> orderItems = orderService.showOrderDetail("1"); System.out.println(orderItems); } @Test public void showMyOrders() { List<Order> orders = orderService.showMyOrders(1); System.out.println(orders); } @Test public void receiverOrder() { int i = orderService.receiverOrder("1"); System.out.println(i); } }
UserDaoTest
package com.atguigu.test; import com.atguigu.dao.UserDao; import com.atguigu.dao.impl.UserDaoImpl; import com.atguigu.pojo.User; import org.junit.Test; public class UserDaoTest { UserDao userDao=new UserDaoImpl(); @Test public void queryUserByUsername() { if(userDao.queryUserByUsername("admin1234")==null){ System.out.println("用户名可用!"); }else{ System.out.println("用户名已存在"); } } @Test public void queryUserByUsernameAndPassword() { if (userDao.queryUserByUsernameAndPassword("admin","admin")==null){ System.out.println("用户名或密码错误,登录失败"); }else { System.out.println("登录成功"); } } @Test public void saveUser() { System.out.println(userDao.saveUser(new User(null,"wzg168","123456","wzg168@qq.com"))); } }
UserServiceTest
package com.atguigu.test; import com.atguigu.pojo.User; import com.atguigu.service.UserService; import com.atguigu.service.impl.UserServiceImpl; import org.junit.Test; public class UserServiceTest { UserService userService =new UserServiceImpl(); @Test public void registUser() { userService.registUser(new User(null,"bbj168","666666","bbj168@qq.com")); userService.registUser(new User(null,"abc168","666666","abc168@qq.com")); } @Test public void login() { System.out.println(userService.login(new User(null,"wzg168","123456",null))); } @Test public void existUsername() { if (userService.existsUsername("wzg16888")){ System.out.println("用户名已存在!"); }else { System.out.println("用户名可用!"); } } }
UserServletTest
package com.atguigu.test; import java.lang.reflect.Method; public class UserServletTest { public void login(){ System.out.println("这是login()方法调用了"); } public void regist(){ System.out.println("这是regist()方法调用了"); } public void updateUser(){ System.out.println("这是updateUser()方法调用了"); } public void updateUserPassword(){ System.out.println("这是updateUserPassword()方法调用了"); } public static void main(String[] args) { String action="regist"; try { //获取action业务鉴别字符串,获取相应的业务方法 反射对象 Method method = UserServletTest.class.getDeclaredMethod(action); System.out.println(method); //调用目标业务方法 method.invoke(new UserServletTest()); } catch (Exception e) { e.printStackTrace(); } } }