使用bboss persistent框架实现数据库的插入操作

简介: 4.3.1预编译插入        PreparedDBUtil preDBUtil = new PreparedDBUtil(); ----------------->定义预编组件实例        Action action = (Action)vo;        String sRecord = action.

4.3.1预编译插入
        PreparedDBUtil preDBUtil = new PreparedDBUtil(); ----------------->定义预编组件实例

       Action action = (Action)vo;

       String sRecord = action.getRecord();

       Timestamp   tsOperTime = (Timestamp)action.getOperTime();

       int    iTypeId = action.getActionTypeID();

       int    iDocInfoId = action.getDocInfoId();

       int    iStatus = action.getStatus();

       int    iActionId = 0;

       String activityID = action.getActivityID();

       String userId = action.getActorID();

       Id = “0”;

       String sqlstr = "INSERT INTO OFFICE_DOCACTION (id,RECORD, OPERTIME, TYPE_ID, ACTDOCINFO_ID, STATUS,ACTIVITYID, ACTIONUSER_ID) " +

              "VALUES(?,?,?,?,?,?,?,?)";

 


       try {

           preDBUtil.preparedInsert(sqlstr); ----------------->预编sql语句

           preDBUtil.setString(1,Id);preDBUtil.setString(2,sRecord);

          

           preDBUtil.setTimestamp(3,tsOperTime);

           preDBUtil.setInt(4,iTypeId);

           preDBUtil.setInt(5,iDocInfoId);

           preDBUtil.setInt(6,iStatus);

           preDBUtil.setString(7,activityID);

           preDBUtil.setString(8,userId);

          } catch (SQLException e) {

           e.printStackTrace();

           throw new DataAccessException("",e);

       }

      

       。。。。。

   

4.3.1普通插入
DBUtil dbUtil = new DBUtil();

String insert = “insert into test (id,name) values(0,’test’)”

dbUtil.executeInsert(insert);//在默认的数据库上执行,在指定的数据库上面使用以下方法:dbUtil.executeInsert(dbName,insert);

 

4.3.2 blob字段的插入
void prepareDefaultInsertBlob()

       {

           for(int i = 0; i < 1; i ++)

           {

              PreparedDBUtil p = new PreparedDBUtil();            

              try {

                 

              //content字段类型为blob字段

                  p.preparedInsert("insert into test(name,content) values(?,?)");

                  p.setPrimaryKey(1,"biaoping.yin1","name");//设定唯一标识字段

                  p.setBlob(2,new File("D:/workspace/shark-1.1-2.src.zip"),"content");//将文件插入blob字段

//                p.setBlob(2,"asdfasdf".getBytes(),"content");//将二进制流插入blob字段

                 

//                p.getString(1,"content");

                 

                  p.executePrepared();

              } catch (SQLException e) {

                  // TODO Auto-generated catch block

                  e.printStackTrace();

              } catch (Exception e) {

                  // TODO Auto-generated catch block

                  e.printStackTrace();

              }

           }

       }

4.3.3 clob字段的插入
 

void prepareDefaultInsertClob()

       {

           for(int i = 0; i < 1; i ++)

           {

              PreparedDBUtil p = new PreparedDBUtil();

             

             

              try {

                 

              //content字段类型为clob

                  p.preparedInsert("insert into test(name,content) values(?,?)");

                  p.setPrimaryKey(1,"biaoping.yin1","name");//设定唯一标识字段

                 

                  p.setClob(2,"阿斯顿发生的飞","content");

                 

                 

                  p.executePrepared();

              } catch (SQLException e) {

                  // TODO Auto-generated catch block

                  e.printStackTrace();

              } catch (Exception e) {

                  // TODO Auto-generated catch block

                  e.printStackTrace();

              }

           }

          

          

       }

 

4.5.3 预编译插入和普通插入操作的不同点
预编译插入和普通插入都是在表中添加一条记录,普通插入操作编码比较方便,程序可读性强一些,但是存在sql注入的风险,预编译插入能够有效地防止sql注入,执行的效率比普通插入的效率要高一些,但是编写的代码不是很直观,考虑到系统的安全和性能应该优先考虑预编译插入操作

 

 

目录
相关文章
|
3月前
|
搜索推荐 前端开发 算法
基于用户画像及协同过滤算法的音乐推荐系统,采用Django框架、bootstrap前端,MySQL数据库
本文介绍了一个基于用户画像和协同过滤算法的音乐推荐系统,使用Django框架、Bootstrap前端和MySQL数据库构建,旨在为用户提供个性化的音乐推荐服务,提高推荐准确性和用户满意度。
269 7
基于用户画像及协同过滤算法的音乐推荐系统,采用Django框架、bootstrap前端,MySQL数据库
|
3月前
|
SQL Java 数据库连接
Hibernate 是一款开源 ORM(对象关系映射)框架,封装了 JDBC,允许以面向对象的方式操作数据库,简化了数据访问层的开发。
Hibernate 是一款开源 ORM(对象关系映射)框架,封装了 JDBC,允许以面向对象的方式操作数据库,简化了数据访问层的开发。通过映射机制,它可以自动处理对象与数据库表之间的转换,支持主流数据库,提高了代码的可移植性和可维护性。其核心接口包括 SessionFactory、Session 和 Transaction 等,通过它们可以执行数据库的 CRUD 操作。配置方面,需在项目中引入 Hibernate 及数据库驱动依赖,并创建 `hibernate.cfg.xml` 配置文件来设置数据库连接和 Hibernate 行为参数。
47 1
|
3月前
|
数据采集 前端开发 算法
基于朴素贝叶斯算法的新闻类型预测,django框架开发,前端bootstrap,有爬虫有数据库
本文介绍了一个基于Django框架和朴素贝叶斯算法开发的新闻类型预测系统,该系统具备用户登录注册、后台管理、数据展示、新闻分类分布分析、新闻数量排名和新闻标题预测等功能,旨在提高新闻处理效率和个性化推荐服务。
|
4月前
|
开发框架 缓存 NoSQL
基于SqlSugar的数据库访问处理的封装,在.net6框架的Web API上开发应用
基于SqlSugar的数据库访问处理的封装,在.net6框架的Web API上开发应用
|
4月前
|
开发框架 Oracle 关系型数据库
ABP框架使用Oracle数据库,并实现从SQLServer中进行数据迁移的处理
ABP框架使用Oracle数据库,并实现从SQLServer中进行数据迁移的处理
|
3月前
|
druid Java 数据库连接
SpringBoot项目整合MybatisPlus持久层框架+Druid数据库连接池,以及实现增删改查功能
SpringBoot项目整合MybatisPlus和Druid数据库连接池,实现基本的增删改查功能。
358 0
|
3月前
|
开发框架 NoSQL 关系型数据库
基于SqlSugar的开发框架循序渐进介绍(27)-- 基于MongoDB的数据库操作整合
基于SqlSugar的开发框架循序渐进介绍(27)-- 基于MongoDB的数据库操作整合
|
14天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
29 1
|
16天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
30 4
|
23天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
119 1
下一篇
无影云桌面