日期:2014-05-16  浏览次数:20499 次

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>