2021-09-13项目总结

day01
1.在idea中创建父子工程+
dao-->service->servlet
接口    封装数据   增删查找
实现类
工程
2.queryRunner  封装jdbc   .query方法
3.gson对象转为jdbc  
4.工具类:数据库连接类  响应封装数据类    枚举封装错误代码类
5.user类中有一个 变量运用& 、|操作来实现一个数据来控制6个权限
&运算不变的话 ,说明有这个权限  
用二进制
6.数据库定义序列来生成唯一的id
定义触发器(在插入数据之前若id为空,将序列作为id)

  create or replace trigger tri_tbl_goods_pk
  before
    insert on tbl_goods for each row when(new.id is null)
  begin
    select seq_tbl_goods_id.nextval into :new.id from dual;
end;


day2
 1.

BeanUtils.populate(g,req.getParameterMap());

来从请求中获取的数据放入对象中的相应属性(调用了beanutils)


2.程序生成唯一的id  

p.setId(IDUtil.getUUID());

 public static String getUUID(){
        String uuid = UUID.randomUUID().toString();
        //去掉“-”符号
        return uuid.replaceAll("-", "");
    }


3.实现分页查询 :定义分页结果类:第几页  以及当页显示的数据  总数据数  页面数据
  分页查询的sql语句:

String sql="SELECT * FROM   " +
                "   ( SELECT A.*, ROWNUM RN   FROM " +
                "        (SELECT * FROM TBL_DEPT) A " +
                "    WHERE ROWNUM <= ? )  " +//pageSize每页显示的个数
                " WHERE RN > ? ";//(page-1)*pageSize第几页


4.获得主表的sno
创建存储过程目的是为了多条语句执行同时成功或者失败(也相当于添加一个事务)

CREATE OR REPLACE PROCEDURE 
       pro_tbl_stock_main_insert(principal tbl_stock_main.principal%TYPE,
               providerid tbl_stock_main.providerid%TYPE,opname tbl_stock_main.opname%TYPE,
               createtime tbl_stock_main.createtime%TYPE,state tbl_stock_main.state%TYPE,
               sno OUT tbl_stock_main.sno%TYPE)
IS
BEGIN   
  insert into tbl_stock_main values (null,principal,providerid,
                                                   opname,createtime,state)
                                                   returning sno into sno;   
 --- COMMIT;                                                 
END;


调用存储过程的方法

OutParameter<Integer> op = new OutParameter<Integer>(Types.INTEGER, Integer.class);
queryRunner.execute(conn, "call pro01(?,?)", 1, op);//op为输出的数据
int result = op.getValue();


执行多条sql语句:

queryRunner.batch(sql, params);

//

DruidUtils.beginTx();//事务启动
            sdao.add(m);
            for (StockDetail d : dlist) {
                d.setSno(m.getSno());
            }
            sdao.add(dlist);
            DruidUtils.endTx();//提交事务
抛出异常进行事务回滚

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值