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();//提交事务
抛出异常进行事务回滚
|