JadePool CRUD举例

        在HashMap关系数据映射技术产品 JadePool中, ProcessVO是cn.jadepool.sql.Jdml实现类,实现事务型数据库DML操作。统一抛出SQLException异常。创建该对象后,由用户决定开启事务、处理异常。 Jade是简化的ProcessVO应用类,对异常进行了捕获。创建该对象后,便开启了数据库事务。 在大多数情况下推荐使用Jade,它超级简便、超级实用。

JadePool CRUD举例

    1、调用并执行一个sql文件
    Jade j = new Jade(); //开始事务
    boolean b = j.executeSqlFile("d:\\createTable.sql");
    j.commit();//事务提交并关闭连接

    2、查询数据库的结构信息

    Jade j = new Jade();
    String s = j.queryDbInfo();
    System.out.println(s);
    j.commit();

    3、查询数据库的一个表的结构信息

    Jade j = new Jade();
    String s = j.queryTableInfo(tableName);
    System.out.println(s);
    j.commit();

    4、插入一组记录
    List<Map> list=...;
    Jade j = new Jade();
    j.insert(tableName, list);
    j.commit();

    5、更新一组记录

    List<Map> list=...;
    Jade j = new Jade();
    j.update(tableName, list);
    j.commit();

    6、插入或更新一条记录
    Map m=...;//一条记录
    Jade j = new Jade();
    Object keyValue=j.saveOne(tableName, m);//或者int num=j.save(tableName, m);
    j.commit();

    7、插入或更新一组记录
    List<Map> list=...;//一组记录
    Jade j = new Jade();
    int num=0;
    for(Map m:list){
        num=num+j.save(tableName, m);
    }
    j.commit();

    8、插入或更新一条主表记录、并插入或更新一组子表记录
    Map m=...;//一条主表记录
    List<Map> list=...;//一组子表记录
    Jade j = new Jade();
    Object keyValue=j.saveOne(tableName, m);
    int num=0;
    for(Map mm:list){
        mm.put(keyName, keyValue);
        num=num+j.save(subTableName, mm);
    }
    j.commit();

    9、【实例】在Servlet中保存一组由表单提交的记录

    使用的数据库表
        
    create table test_tel(                                         /*通信录*/
    id bigint primary key,                                         /*主键*/
    danwei varchar(50),                                            /*单位*/
    dianhua varchar(16),                                           /*电话*/
    zhaopian image                                                 /*照片*/
    )

    表单范例。在多组记录中,第一个字段不要用check、radio按钮,使用这两个属性值 method="post" enctype="multipart/form-data"
        
    <form action="./TelServlet" method="post" enctype="multipart/form-data">
            <table>
                <tr>
                    <th>姓名</th><th>单位</th><th>电话</th><th>照片</th>
                </tr>
                <tr>
                    <td><input type="hidden" name="id" value="1"/><input name="xingming" value="张山月"/></td>
                    <td><textarea name="danwei">华联超市</textarea></td>
                    <td><input name="dianhua" value="400-1230-1000"/></td>
                    <td><input type="file" name="zhaopian"/></td>
                </tr>
                <tr>
                    <td><input type="hidden" name="id" value="2"/><input name="xingming" value="李海江"/></td>
                    <td><textarea name="danwei">中国电信</textarea></td>
                    <td><input name="dianhua" value="400-1230-1001"/></td>
                    <td><input type="file" name="zhaopian"/></td>
                </tr>
                <tr>
                    <td><input type="hidden" name="id" value="3"/><input name="xingming" value="王大鹏"/></td>
                    <td><textarea name="danwei">中国移动</textarea></td>
                    <td><input name="dianhua" value="400-1230-1002"/></td>
                    <td><input type="file" name="zhaopian"/></td>
                </tr>
                <tr>
                    <td colspan="4" align="center"><input type=submit value='提交'/></td>
                </tr>
            </table>
        </form>

    万能表单解析
    ProcessForm form = ProcessForm.instance();//万能表单解析,包括对所有的文本字段、上传文件(图片多媒体等文件)字段的解析
    form.parse(request);
    List<Map>  list = form.getRecordList();//获取多条记录//Map m = form.getRecord();//获取一条记录
    Jade j = new Jade();
    for (Map m : list) {
        j.save("test_tel", m);
    }
    List<Map>  v=j.query("select * from test_tel");//查询
    for (Map m : v) {
        System.out.println(m);
    }
    j.commit();

    保存后输出的查询结果

    {id=1, danwei=华联超市, dianhua=400-1230-1000, zhaopian=[B@1dbb3e7}
    {id=2, danwei=中国电信, dianhua=400-1230-1001, zhaopian=[B@1003b09}
    {id=3, danwei=中国移动, dianhua=400-1230-1002, zhaopian=[B@2406db}

    10、查询一条记录

    Jade j = new Jade();
    Map m=j.queryOne(querySql);//可以是任意复杂的查询语句
    j.commit();

    11、查询一组记录
    Jade j = new Jade();
    List<Map>  list=j.query(querySql);//可以是任意复杂的查询语句
    j.commit();

    12、大型记录分组索引查询
    /*
    * 假设表tableName中含有100万条记录,按每组1000条记录分组,查找第99组记录[索引号98]
    */
                         
    Jade j = new Jade();
    List<Map> v = j.indexByIndexNodes(tableName, new String[]{fieldName1, fieldName2, fieldName3}, 98, false降序, false不重新创建索引数组);
    j.commit();

    13、删除记录
    Jade j = new Jade();
    int num=j.delete(deleteSql);//sql删除语句
    j.commit();

    14、取消插入、更新、删除等操作
    Jade j = new Jade();
    int num=j.delete(deleteSql);//sql删除语句
    j.cancel();//事务回滚,并关闭连接

说明:

1、jadepool-1.0-GBK下载的网址:

             http://download.csdn.net/detail/wj800/5109413

             http://www.jadepool.cn/

2、初次使用JadePool工具,可以参阅本人的CSDN博文 “高效JDBC编程工具JadePool快速入门 “



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值