DBUtils框架+客户管理系统的设计与开发

DBUtils 

1.DbUtils
工具类
提供很多边界方法,其中的静悄悄的方法我们很喜欢~

2.QueryRunner
(1)这组很方便,不需要事务时用这组方法
QueryRunner(DataSource ds) 


<T> T query(String sql, ResultSetHandler<T> rsh) 
<T> T query(String sql, ResultSetHandler<T> rsh, Object... params) 
int update(String sql) 
int update(String sql, Object... params) 
int update(String sql, Object param) 
(2)当需要控制事务时,因为需要利用Connection控制事务,所以用这组方法
QueryRunner()

<T> T query(Connection conn, String sql, ResultSetHandler<T> rsh) 
<T> T query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params) 
int update(Connection conn, String sql) 
int update(Connection conn, String sql, Object... params) 
int update(Connection conn, String sql, Object param) 
3.ResultSetHandler的实现类
ArrayHandler:把结果集中的第一行数据转成对象数组。
ArrayListHandler:把结果集中的每一行数据都转成一个对象数组,再存放到List中。
!!!!BeanHandler:将结果集中的第一行数据封装到一个对应的JavaBean实例中。
!!!!BeanListHandler:将结果集中的每一行数据都封装到一个对应的JavaBean实例中,存放到List里。
MapHandler:将结果集中的第一行数据封装到一个Map里,key是列名,value就是对应的值。
MapListHandler:将结果集中的每一行数据都封装到一个Map里,然后再存放到List
ColumnListHandler:将结果集中某一列的数据存放到List中。
KeyedHandler(name):将结果集中的每一行数据都封装到一个Map里(List<Map>),再把这些map再存到一个map里,其key为指定的列。
!!!!ScalarHandler :用来返回第一行数据中指定列(默认第一列)的数值 -- 用在进行单值查询




客户管理系统 --- 开发一个基于数据库的案例,实现基于数据库的信息的增删改查
            添加客户  查询客户  修改客户  删除客户  条件查询客户  分页查询客户
            
            jsp+servlet+jdbc+mysql+tomcat
            
            javaee的经典三层架构   工厂类+配置文件+接口实现软件分层
            
            com.itheima.
                    web
                    service
                    dao
                    domain
                    util
                    exception
                    factory
                    test
            
            
           *junit
           *jstl 
            beanutils
            mysql驱动
            c3p0
            dbutils
            
            
            c3p0-config.xml
            config.properties
            
            
            create table customer(
                id int primary key auto_increment,
                name varchar(20),
                gender char(3),
                birthday date,
                cellphone varchar(20),
                email varchar(40),
                preference varchar(40),
                type varchar(50),
                description varchar(255)
            );
            
            
            开发javabean
            工厂类实现软件分层
            
            
            
            
            添加客户
                index.jsp 提供 添加客户  
                addCust.jsp 提供添加客户用到表单,提交到后台
                AddCustServlet 封装数据校验数据 调用Service中的方法添加客户 成功后回到主页
                CustService  提供添加客户的方法,调用dao中添加客户信息的方法
                CustDao 提供添加客户的方法
            
            查询客户
                index.jsp 提供 查询客户
                CustListServlet 调用Service中的方法查询出所有客户信息,将查到的信息存入request带到页面显示
                CustService 查询所有客户信息,调用dao中查询所有客户的方法
                CustDao 查询所有客户的方法
                custList.jsp 以表格的形式展示所有客户信息
            
            修改客户(前置有一个单条查询)
                custList.jsp 每条记录后都应该有一个连接,修改,访问FindCustByIdServlet
               FindCustByIdServlet 获取要查询的客户id,根据id调用Servcie中查询客户的方法查到客户,转发到updateCust.jsp页面
               updateCust.jsp 提供修改表单,允许用户修改后提交
               UpdateCustServlet 调用Service中修改客户的方法,修改后再重定向回到客户列表页面
               
               CustService 根据id查找客户   修改客户
               CustDao  根据id查找客户 修改客户
            
            
            删除客户
                在客户列表页面 删除
                DelCustServlet 获取要删除的客户id ,调用Service中的方法根据id删除用户 重定向回到客户列表页面
                CustService 根据id删除客户
                CustDao 根据id删除客户
            
            批量删除客户
                在客户列表页面的每条记录之前都有一个复选框,在这个表后有删除按钮 点击时带着所选的所有的要删除的客户的id访问
                BatchDelServlet 获取所有要删除的客户id 调用Service中的方法批量删除客户  重定向到客户列表页面
                CustService 批量删除客户 遍历所有id调用 dao中根据id删除客户的方法(事务控制)    
                
                ThreadLocal -- (线程局部 (thread-local) 变量)
            
            
            
            客户管理系统的源代码我会在下一篇博客中公开,有兴趣的朋友可以拿去研究。






  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值