LqJdbc 轻量级数据库开源项目

我要开发同款
匿名用户2015年11月26日
77阅读

技术信息

开源地址
https://gitee.com/zhongziyun/LqJdbc
授权协议
Apache

作品详情

LqJdbc可以很轻松地操作数据库,使用了C3P0链接池,实现了hiberate的一些简单功能如save,update,delete,fid,createetity,也实现了sprigjdbcTemplate的一些简单功能,如queryForList,execute,最新的3.0版,还实现了多数据源操作,可以进行读写分离。

LqJdbc的好处就在于任何JAVA项目,直接导入JAR,配制lqjdbc.properties即可使用,是轻量级开源项目。

网页底部为项目下载地址

实例:

importjava.io.IputStream;importjava.sql.ResultSet;importjava.sql.SQLExceptio;importjava.util.List;importcom.lq.util.jdbc.DatabasesJdbc;importcom.lq.util.jdbc.DatabasesIterfaceT;importcom.lq.util.jdbc.Jdbc;importcom.lq.util.jdbc.LqEtitySql;importcom.lq.util.jdbc.LqJdbcFactory;importcom.lq.util.jdbc.LqResultSet;importcom.lq.util.jdbc.LqShiWu;importcom.lq.util.jdbc.Page;publicclassTest{publicstaticvoidmai(Strig[]args){}publicvoidpageSelectTest(){//SQLSERVER2005分页查询用法Strigsql="SELECTROW_NUMBER()OVER(ORDERBYid)ASRowNumber,*frompayifo";StrigsqlCout="selectcout(*)frompayifo";//其它数据库SQL分页sql="SELECT*frompayifo";sqlCout="selectcout(*)frompayifo";Pagepage=Jdbc.fidPage(sql,1,3,sqlCout,ewObject[]{});System.out.pritl(page.getData().size());}publicvoidshuoM(){/***生成实体类*/Jdbc.createEtity("com.etity","t_user","id");/***生成插入修改SQL语句*/Jdbc.createSQL("t_user","id");//-------------------------下面为SQL语句操作----------------------------------------/***查询*/Jdbc.fid("select*fromt_userwhereid=?",ewObject[]{"1"});/***分页查询*/Pagepage=Jdbc.fidPage("select*fromt_userwhereid=?",1,15,"selectcout(id)fromt_userwhereid=?",ewObject[]{"1"});/***插入*/Jdbc.execute("isertitotest(ame)values(?)",ewObject[]{"吃人的肉"});/***修改*/Jdbc.execute("updatetestsetame=?whereid=?",ewObject[]{"吃人的肉1","1"});/***删除*/Jdbc.execute("deletefromtestwhereid=?",ewObject[]{"1"});//------------------------下面为实体类操作------------------------------------------fialTesttest=ewTest();Jdbc.save(test);//插入Jdbc.update(test);//修改Jdbc.delete(test);//删除Listlist=Jdbc.fid("select*fromt_user",Test.class,ewObject[]{});//查询返回实体类//------------------------下面为事务操作------------------------------------------/***事务处理*/Jdbc.shiwu(ewLqShiWu(){@Overridepublicvoidshiwu(LqJdbcFactoryjdbc){if(1!=1){//验证判断jdbc.shiB=9;//如果验证通过返回自定义的状态码retur;}jdbc.fid("select*fromt_userwhereid=?",ewObject[]{"1"});jdbc.execute("isertitotest(ame)values(?)",ewObject[]{"吃人的肉"});jdbc.execute("updatetestsetame=?whereid=?",ewObject[]{"吃人的肉1","1"});jdbc.execute("deletefromtestwhereid=?",ewObject[]{"1"});Jdbc.save(test);//插入Jdbc.update(test);//修改Jdbc.delete(test);//删除}});/**      *图片的存储<文件>      */      Fileimg=ewFile("pic.jpeg");      itc=Jdbc.execute("updateimagesetpic=?",ewObject[]{img});      img.delete();            /**      *图片的存储<流>      */      FileIputStreami=ull;      try{         i=ewFileIputStream(ewFile("pic.jpeg"));         itc2=Jdbc.execute("updateimagesetpic=?",ewObject[]{i});      }catch(FileNotFoudExceptioe1){         //TODOAuto-geeratedcatchblock         e1.pritStackTrace();      }fially{         try{            i.close();         }catch(IOExceptioe){            //TODOAuto-geeratedcatchblock            e.pritStackTrace();         }      }            /**      *图片的读取      */      List<ListOrderedMap>listImg=Jdbc.getDS("pg").fid("selectarea_imgfromcompay_arealimit1");      IputStreamiImg=(IputStream)listImg.get(0).get("area_img");/***操作结果集*/Jdbc.operatioResultSet(ewLqResultSet(){@OverridepublicvoidgetResultSet(LqJdbcFactoryjdbc){ResultSetrs=jdbc.fidResultSet("selectphotofromt_userwhereid=?",ewObject[]{"5"});try{while(rs.ext()){IputStreami=rs.getBiaryStream("photo");}}catch(SQLExceptioe){e.pritStackTrace();}}});      /**      *多种数据库操作      */      fialStrigBuffersb=ewStrigBuffer();      fialListlistCs2=ewArrayList();      Jdbc.sql(ewDatabasesIterface(){         publicStrigoracle(){            sb.apped("select*fromadmiwhereid=?");            listCs2.add("1");            returull;         }         publicStrigmysql(){            sb.apped("select*fromadmiwhereid=?");            listCs2.add("1");            returull;         }         publicStrigsqlserver(){            sb.apped("select*fromadmiwhereid=?");            listCs2.add("1");            returull;         }      });      Listlist2=Jdbc.fid(sb.toStrig(),listCs2.toArray());System.out.pritl(list2);/**      *批量执行      */      fialStrigsql="isertitotest(ame)values(?)";      Jdbc.piliag(sql,ewLqPiLiag(){         publicvoidpiliag(LqJdbcFactoryjdbc){            for(iti=0;i<100;i++){               jdbc.executeS(ewObject[]{i+""});            }         }      });            /**      *多数据源操作      */        Mapmap=Jdbc.getDSNames();//得到除默认数据源外的所有数据源名称      ListlistDdb=Jdbc.fid("select*fromtest");//读取默认数据源      ListlistDrdb=Jdbc.getDS(readDB).fid("select*fromtest");//读取第二个数据源      ListlistDwdb=Jdbc.getDS(writeDB).fid("select*fromtest");//读取第三个数据源}}

下面为配制文件lqjdbc.properties

#MYSQL_DRIVERDriverClassName=com.mysql.jdbc.Driver#MYSQL_URLAllUrl=jdbc:mysql://127.0.0.1/db4?useOldAliasMetadataBehavior=true&useUicode=true&characterEcodig=utf-8&rewriteBatchedStatemets=true***root***123456#初始化链接数IitialPoolSize=50#最小链接数MiPoolSize=20#最大链接数MaxPoolSize=100#执行线程数-版本支持2.3以上版本NumHelperThreads=20#每页显示多少条数据PageSize=15#多少页一组GroupPageSize=5#打印日志SqlLog=true#是否打印查询耗时-版本支持2.1.9以上版本SqlSuccessTime=true#^^^^^^^^^^^^^^^^^^^^^^^读^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^#MYSQL_URLlqjdbc.appeder.query.AllUrl=jdbc:mysql://127.0.0.1/db2?useOldAliasMetadataBehavior=true&useUicode=true&characterEcodig=utf-8&rewriteBatchedStatemets=true***root***123456#MYSQL_DRIVERlqjdbc.appeder.query.DriverClassName=com.mysql.jdbc.Driver#初始化链接数lqjdbc.appeder.query.IitialPoolSize=50#最小链接数lqjdbc.appeder.query.MiPoolSize=20#最大链接数lqjdbc.appeder.query.MaxPoolSize=100#执行线程数-版本支持2.3以上版本lqjdbc.appeder.query.NumHelperThreads=20#每页显示多少条数据lqjdbc.appeder.query.PageSize=15#多少页一组lqjdbc.appeder.query.GroupPageSize=5#打印日志lqjdbc.appeder.query.SqlLog=true#是否打印查询耗时-版本支持2.1.9以上版本lqjdbc.appeder.query.SqlSuccessTime=true#^^^^^^^^^^^^^^^^^^^^^^^写^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^#MYSQL_URLlqjdbc.appeder.write.AllUrl=jdbc:mysql://127.0.0.1/db3?useOldAliasMetadataBehavior=true&useUicode=true&characterEcodig=utf-8&rewriteBatchedStatemets=true***root***123456#MYSQL_DRIVERlqjdbc.appeder.write.DriverClassName=com.mysql.jdbc.Driver#初始化链接数lqjdbc.appeder.write.IitialPoolSize=50#最小链接数lqjdbc.appeder.write.MiPoolSize=20#最大链接数lqjdbc.appeder.write.MaxPoolSize=100#执行线程数-版本支持2.3以上版本lqjdbc.appeder.write.NumHelperThreads=20#每页显示多少条数据lqjdbc.appeder.write.PageSize=15#多少页一组lqjdbc.appeder.write.GroupPageSize=5#打印日志lqjdbc.appeder.write.SqlLog=true#是否打印查询耗时-版本支持2.1.9以上版本lqjdbc.appeder.write.SqlSuccessTime=true

功能介绍

LqJdbc 可以很轻松地操作数据库,使用了 C3P0 链接池,实现了hibernate的一些简单功能如 save,update,delete,find,create entity,也实现了sp...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论