Document
拖动滑块完成拼图
首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种自动化高效增删改查数据库数据的方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

摘要:本发明公开了一种自动化高效增删改查数据库数据的方法,涉及后端开发技术领域。后端开发工作:需要利用Spring框架的自动注入bean的原理,以及数据库的相关知识,自动读取数据库的表信息,并完成数据库的增删改查操作。

主权项:1.一种自动化高效增删改查数据库数据的方法,其特征在于:其所述方法如下:首先需要建立数据库的连接模块,建立DataSourceMgr类,这个类主要用来建立与数据库的连接;DataSourceMgr类中有如下几种方法:DruidDataSourcegetDataSourceStringdsId,JdbcTemplategetJdbcTemplateStringdsId,DataSourceTransactionManagergetTxManagerStringdsId;具体解释如下:DruidDataSourcegetDataSourceStringdsId是获取数据库连接池的方法,dsId代表当前的数据库的ID,返回的DruidDataSource是数据库连接信息。获取到数据库连接信息后,会把相关信息存入DataSourceMgr类的ConcurrentHashMapString,DruidDataSourcedsMap中当作缓存,实际调用时会先从缓存中获取数据库的连接信息,避免每次创建数据库的连接;JdbcTemplategetJdbcTemplateStringdsId是获取数据库JdbcTemplate的方法,dsId代表当前的数据库的ID,返回的JdbcTemplate是数据库底层处理模板类,获取到数据库底层处理模板后,会把相关信息存入DataSourceMgr类的ConcurrentHashMapString,JdbcTemplatejdbcMap中当作缓存,实际调用时会先从缓存中该模板信息;DataSourceTransactionManagergetTxManagerStringdsId是获取数据库事务处理的方法,dsId代表当前的数据库的ID,返回的DataSourceTransactionManager是数据库底层事务管理类,获取到底层事务管理类后,会把相关信息存入DataSourceMgr类的ConcurrentHashMapString,DataSourceTransactionManagertxMap中当作缓存,实际调用时会先从缓存中该事务管理类,至此便可以解决数据库的连接问题了;数据库连接模块建立完成之后,对应增删改查操作,需要建立两个模块:数据查询模块和数据操作模块,下面具体解释其实现:针对数据库查询模块,建立SqlQueryUtils类,这个类主要用查询数据库的相关数据;SqlQueryUtils类中有如下几种方法:ListMapString,ObjectgetDataHashMapListStringdatabaseName,StringquerySql、ListMapString,ObjectgetDataHashMapListWithLimitStringdatabaseName,StringquerySql,intlimit、TListTgetDataObjectListStringdatabaseName,StringquerySql,ClassTz和TListTgetDataObjectListWithLimitStringdatabaseName,StringquerySql,intlimit,Classz;具体解释如下:ListMapString,ObjectgetDataHashMapListStringdatabaseName,StringquerySql是获取数据的方法,databaseName代表当前的数据库的名称,querySql是查询的SQL语句,返回的ListMapString,Object是查询到的数据信息,这里首先会根据databaseName调用DataSourceMgr类中的JdbcTemplategetJdbcTemplateStringdsId方法,这样会得到数据库操作的模板类JdbcTemplate,然后调用JdbcTemplate里的query方法就能获取到需要查询的数据信息了,同时把返回的内容组装成ListMapString,Object类型的;ListMapString,ObjectgetDataHashMapListWithLimitStringdatabaseName,StringquerySql,intlimit是带限制条数获取数据的方法,databaseName代表当前的数据库的名称,querySql是查询的SQL语句,limit是限制查询条数,返回的ListMapString,Object是查询到的数据信息,这里首先会根据databaseName调用DataSourceMgr类中的JdbcTemplategetJdbcTemplateStringdsId方法,这样会得到数据库操作的模板类JdbcTemplate,然后调用JdbcTemplate里的query方法就能获取到需要查询的数据信息了,当查询条数超过limit时,就会停止查询,同时把返回的内容组装成ListMapString,Object类型的;TListTgetDataObjectListStringdatabaseName,StringquerySql,ClassTz是获取数据并转成对象的方法,databaseName代表当前的数据库的名称,querySql是查询的SQL语句,z是需要转成对象的类型参数,返回的ListT是查询到的数据信息转成了对象列表,这里首先会根据databaseName调用DataSourceMgr类中的JdbcTemplategetJdbcTemplateStringdsId方法,这样会得到数据库操作的模板类JdbcTemplate,然后调用JdbcTemplate里的query方法就能获取到需要查询的数据信息了,获取到的信息先会转成JSON字符串,然后再把JSON字符串转成对象,进一步添加到对象列表中作为返回参数;TListTgetDataObjectListWithLimitStringdatabaseName,StringquerySql,ClassTz,intlimit是带限制条数获取数据并转成对象的方法,databaseName代表当前的数据库的名称,querySql是查询的SQL语句,z是需要转成对象的类型参数,limit是限制查询的条数,返回的ListT是查询到的数据信息转成了对象列表,这里首先会根据databaseName调用DataSourceMgr类中的JdbcTemplategetJdbcTemplateStringdsId方法,这样会得到数据库操作的模板类JdbcTemplate,然后调用JdbcTemplate里的query方法就能获取到需要查询的数据信息了,当查询条数超过limit时,就会停止查询,获取到的信息先会转成JSON字符串,然后再把JSON字符串转成对象,进一步添加到对象列表中作为返回参数,至此数据查询模块的功能就实现了;针对数据库操作模块,建立SqlUtils类,这个类主要用操作数据库的相关数据;SqlUtils类中有如下几种方法:StringgetInsertSqlListObject[]params,ListMapString,Objectdata,ListStringcolumns,StringtableName,MapString,TableInfotableInfoMap,booleanisWithIgnore,StringgetUpdateSqlListObject[]params,ListMapString,Objectdata,ListStringcolumns,StringtableName,ListStringwhere,MapString,TableInfotableInfoMap,booleanisWithIgnore,ObjectgetValueStringkey,MapString,Objectr,TableInfotableInfo,intbatchInsertHashMapDataListListMapString,Objectdata,StringdatabaseName,StringtableName,TintbatchInsertObjectDataListListTdata,StringdatabaseName,StringtableName,intbatchUpdateHashMapDataListListMapString,Objectdata,StringdatabaseName,StringtableName,ListStringwhere,intbatchUpdateObjectDataListListTdata,StringdatabaseName,StringtableName,ListStringwhere,intinsertSingleHashMapDataMapString,Objectdata,StringdatabaseName,StringtableName,intinsertSingleObjectDataTdata,StringdatabaseName,StringtableName,intinsertSingleHashMapDataReturnIdMapString,Objectdata,StringdatabaseName,StringtableName,TintinsertSingleObjectDataReturnIdTdata,StringdatabaseName,StringtableName;具体解释如下:StringgetInsertSqlListObject[]params,ListMapString,Objectdata,ListStringcolumns,StringtableName,MapString,TableInfotableInfoMap,booleanisWithIgnore是获取插入数据的SQL语句,params代表待组装插入数据库的数据,data代表已查询到的数据,columns代表数据库表字段集合,tableName代表表名,tableInfoMap是缓存的表字段信息,isWithIgnore代表插入时候是不是加ignore,这个方法主要先是通过tableName和columns拼接基本的insert语句,isWithIgnore决定insert后面带不带ignore,通过要插入的数据列表data来组装插入参数列表params,以备后续插入数据库操作,其中如果某个字段值不存在,那么会用数据库默认值替代,默认值是从缓存tableInfoMap中获取,最后组装InsertSql语句:先遍历data数据列表,然后在每条数据内部对columns进行遍历,组装插入数据的值,塞入params中,同时拼接Sql语句,这样就可以完成获取InsertSql语句和组装待插入数据列表的功能了;StringgetUpdateSqlListObject[]params,ListMapString,Objectdata,ListStringcolumns,StringtableName,ListStringwhere,MapString,TableInfotableInfoMap,booleanisWithIgnore是获取更新数据的SQL语句,params代表待组装更新数据库的数据,data代表已查询到的数据,columns代表数据库表字段集合,tableName代表表名,where代表更新语句的where条件字段列表,tableInfoMap是缓存的表字段信息,isWithIgnore代表更新时候是不是加ignore,这个方法主要先是通过tableName和columns拼接基本的insert语句,isWithIgnore决定insert后面带不带ignore,通过要更新的数据列表data来组装更新参数列表params,以备后续更新数据库操作,其中如果某个字段值不存在,那么会用数据库默认值替代,默认值是从缓存tableInfoMap中获取,最后组装UpdateSql语句:先遍历data数据列表,然后在每条数据内部对columns进行遍历,组装更新数据的值,塞入params中,同时拼接Sql语句,最后遍历完columns,还需要遍历where列表,拼接Sql语句后面的where条件,这样就可以完成获取UpdateSql语句和组装待更新数据列表的功能了;ObjectgetValueStringkey,MapString,Objectr,TableInfotableInfo是获取更新当前字段的值,r代表当前待处理数据,tableInfo代表当前字段的数据库基本信息,这个方法主要先是从r中匹配key的字段值是否存在,如果存在则返回,如果不存在就从tableInfo里取数据库该字段定义的默认值;intbatchInsertHashMapDataListListMapString,Objectdata,StringdatabaseName,StringtableName是批量插入HashMap型的数据到数据库里,data代表当前待插入数据列表,databaseName代表当前数据库名称,tableName代表当前处理的数据表,返回的是影响行数,这个方法主要先利用databaseName获取DataSourceMgr缓存中的JdbcTemplate模板方法,然后调用上述getInsertSql方法获取插入的Sql语句以及组装好的待插入数据列表,最后调用JdbcTemplate的batchUpdate方法就可以完成插入数据的功能了;TintbatchInsertObjectDataListListTdata,StringdatabaseName,StringtableName是批量插入泛型数据到数据库里,data代表当前待插入数据列表,databaseName代表当前数据库名称,tableName代表当前处理的数据表,返回的是影响行数,这个方法先把data从ListT转换成ListMapString,Object类型,然后直接调用batchInsertHashMapDataList即可;intbatchUpdateHashMapDataListListMapString,Objectdata,StringdatabaseName,StringtableName,ListStringwhere是批量更新HashMap型的数据到数据库里,data代表当前待更新数据列表,databaseName代表当前数据库名称,tableName代表当前处理的数据表,where代表更新的where条件,返回的是影响行数,这个方法主要先利用databaseName获取DataSourceMgr缓存中的JdbcTemplate模板方法,然后调用上述getUpdateSql方法获取插入的Sql语句以及组装好的待更新数据列表,最后调用JdbcTemplate的batchUpdate方法就可以完成更新数据的功能了;batchUpdateObjectDataListListTdata,StringdatabaseName,StringtableName,ListStringwhere是批量更新泛型数据到数据库里,data代表当前待更新数据列表,databaseName代表当前数据库名称,tableName代表当前处理的数据表,where代表更新的where条件,返回的是影响行数,这个方法先把data从ListT转换成ListMapString,Object类型,然后直接调用batchUpdateHashMapDataList即可;intinsertSingleHashMapDataMapString,Objectdata,StringdatabaseName,StringtableName是插入单个数据到数据库里,data代表当前待插入数据,databaseName代表当前数据库名称,tableName代表当前处理的数据表,返回的是影响行数,这个方法先声明一个ListMapString,Object变量dataList,然后调用add方法把data添加进去,最后直接调用上述的batchInsertHashMapDataList方法即可;intinsertSingleObjectDataTdata,StringdatabaseName,StringtableName是插入单个数据到数据库里,data代表当前待插入的泛型数据,databaseName代表当前数据库名称,tableName代表当前处理的数据表,返回的是影响行数,这个方法先声明一个ListT变量dataList,然后调用add方法把data添加进去,最后直接调用上述的batchInsertObjectDataList方法即可;intinsertSingleHashMapDataReturnIdMapString,Objectdata,StringdatabaseName,StringtableName是插入单个数据到数据库里,data代表当前待插入的泛型数据,databaseName代表当前数据库名称,tableName代表当前处理的数据表,返回的是主键Id。这个方法首先会调用上述的getInsertSql方法获取插入的sql语句,然后利用databaseName获取DataSourceMgr缓存中的JdbcTemplate模板方法,接着在调用其update方法内部,创建一个GeneratedKeyHolder对象keyHolder,这是JDBC底层自带的类,最后在执行update方法时传入这个参数,执行完毕之后通过调用keyHolder.getKey.intValue获取主键Id;TintinsertSingleObjectDataReturnIdTdata,StringdatabaseName,StringtableName是插入单个泛型数据到数据库里,data代表当前待插入的泛型数据,databaseName代表当前数据库名称,tableName代表当前处理的数据表,返回的是主键Id,这个方法首先会把data从泛型T转成MapString,Object类型的数据,然后直接调用上述insertSingleHashMapDataReturnId方法,至此所有的数据库的相关操作功能便实现了。

全文数据:

权利要求:

百度查询: 上海赛可出行科技服务有限公司 一种自动化高效增删改查数据库数据的方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。