Hello,大家好,一周一更到了,今日专题:一个简单的商品管理系统,下面就开始步入正题
技术栈:JavaWeb+MySQL+Druid连接池
准备
sql数据表
用户表:
CREATE TABLE `t_user` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`password` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
商品表
CREATE TABLE `t_goods` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`buyer_name` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`buyer_phone` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`goods_name` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL,
`buy_count` int(11) DEFAULT NULL,
`goods_price` decimal(10,2) DEFAULT NULL,
`buyer_addr` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`goods_sum_price` decimal(10,3) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
@TOC
简介
该系统基于JavaWeb,数据库MySQL
系统采用三层架构编写,即web层,service层,dao层
系统主要功能:注册,登录,增删改查商品,列表页支持多条件搜索
Druid简介
DRUID是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0、DBCP、PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,据说是目前最好的连接池。
使用druid需要导入jar包
项目结构
源码结构:
效果展示
注册页
点击注册后跳转至登录页
登录外加了防跳墙功能,即在未登录时访问主页自动定向到登录页
添加商品:
添加完毕商品后自动跳转至商品列表页
搜索姓李的买家的订单
项目部分代码
UserDao
public interface UserDao {
/**
* 将用户名,密码保存至数据库
* @param username
* @param userpass
*/
void save(String username, String password);
/**
* 查询用户是否存在
* @param username
* @param password
* @return
*/
User queryByUser(String username, String password);
}
UserDaoImpl实现类:
public class UserDaoImpl implements UserDao{
@Override
public void save(String username, String password) {
// TODO Auto-generated method stub
//拼接sql语句,保存用户名与密码
String sql = "insert into t_user(username, password) values(?, ?)";
try {
QueryRunner qur = DBConnUtil.initQueryRunner();
qur.execute(sql, username, password);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public User queryByUser(String username, String password) {
// TODO Auto-generated method stub
User user = null;
try {
String sql = "select * from t_user where username = ? and password = ?";
QueryRunner qur = DBConnUtil.initQueryRunner();
user = qur.query(sql, new BeanHandler<User>(User.class), username, password);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return user;
}
}
UserService:
public interface UserService {
void save(String username, String password);
User queryByUser(String username, String password);
}
UserServiceImpl
public class UserServiceImpl implements UserService{
UserDao userDao = new UserDaoImpl();
@Override
public void save(String username, String password) {
// TODO Auto-generated method stub
//直接调用dao层, 将用户名,密码保存
userDao.save(username, password);
}
@Override
public User queryByUser(String username, String password) {
// TODO Auto-generated method stub
return userDao.queryByUser(username, password);
}
}
絮语
好了,需要源码的小伙伴评论区留言,今日的项目到此结束,每周一篇更新起来,看到这里的小伙伴赏给博主一个大大的赞吧,我们共同进步,虚心学习,努力钻研,成为更好的自己,我们下周见!