使用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注入,执行的效率比普通插入的效率要高一些,但是编写的代码不是很直观,考虑到系统的安全和性能应该优先考虑预编译插入操作

 

 

目录
相关文章
|
人工智能 数据挖掘 API
基于neo4j数据库和dify大模型框架的rag模型搭建——后续补充
基于neo4j数据库和dify大模型框架的rag模型搭建——后续补充
1271 21
基于neo4j数据库和dify大模型框架的rag模型搭建——后续补充
|
Java 数据库 Docker
基于neo4j数据库和dify大模型框架的rag模型搭建
基于neo4j数据库和dify大模型框架的rag模型搭建
4330 35
|
SQL XML Java
配置Spring框架以连接SQL Server数据库
最后,需要集成Spring配置到应用中,这通常在 `main`方法或者Spring Boot的应用配置类中通过加载XML配置或使用注解来实现。
890 0
|
SQL 数据库连接 数据库
在C++的QT框架中实现SQLite数据库的连接与操作
以上就是在C++的QT框架中实现SQLite数据库的连接与操作的基本步骤。这些步骤包括创建数据库连接、执行SQL命令、处理查询结果和关闭数据库连接。在实际使用中,你可能需要根据具体的需求来修改这些代码。
1014 14
|
存储 缓存 Java
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
2927 3
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
|
Oracle 关系型数据库 Java
|
SQL Java 数据库连接
Hibernate 是一款开源 ORM(对象关系映射)框架,封装了 JDBC,允许以面向对象的方式操作数据库,简化了数据访问层的开发。
Hibernate 是一款开源 ORM(对象关系映射)框架,封装了 JDBC,允许以面向对象的方式操作数据库,简化了数据访问层的开发。通过映射机制,它可以自动处理对象与数据库表之间的转换,支持主流数据库,提高了代码的可移植性和可维护性。其核心接口包括 SessionFactory、Session 和 Transaction 等,通过它们可以执行数据库的 CRUD 操作。配置方面,需在项目中引入 Hibernate 及数据库驱动依赖,并创建 `hibernate.cfg.xml` 配置文件来设置数据库连接和 Hibernate 行为参数。
470 1
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
730 158
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
1932 152

热门文章

最新文章