微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

LqJdbc

程序名称:LqJdbc

授权协议: Apache

操作系统: 跨平台

开发语言: Java

LqJdbc 介绍

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

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

网页底部为项目下载地址

实例:

import java.io.InputStream;
import java.sql.ResultSet;
import java.sql.sqlException;
import java.util.List;

import com.lq.util.jdbc.DatabasesJdbc;
import com.lq.util.jdbc.DatabasesInterfaceT;
import com.lq.util.jdbc.Jdbc;
import com.lq.util.jdbc.LqEntitysql;
import com.lq.util.jdbc.LqJdbcFactory;
import com.lq.util.jdbc.LqResultSet;
import com.lq.util.jdbc.LqShiWu;
import com.lq.util.jdbc.Page;


public class Test {

    public static void main(String[] args) {

    }

    public void pageSelecttest(){
        //sql SERVER 2005 分页查询用法
        String sql="SELECT ROW_NUMBER() OVER (ORDER BY id) AS RowNumber,* from payinfo";
        String sqlCount="select count(*) from payinfo";
        //其它数据库sql分页
        sql="SELECT * from payinfo";
        sqlCount="select count(*) from payinfo";

        Page page=Jdbc.findPage(sql, 1, 3, sqlCount, new Object[]{});
        System.out.println(page.getData().size());
    }

    public void shuoM(){
        /**
         * 生成实体类
         */
        Jdbc.createEntity("com.entity","t_user","id");
        /**
         * 生成插入修改sql语句
         */
        Jdbc.createsql("t_user","id");

        //-------------------------下面为sql语句操作----------------------------------------

        /**
         * 查询
         */
        Jdbc.find("select * from t_user where id=?", new Object[]{"1"});
        /**
         * 分页查询
         */
        Page page=Jdbc.findPage("select * from t_user where id=?", 1, 15, "select count(id) from t_user where id=?", new Object[]{"1"});
        /**
         * 插入
         */
        Jdbc.execute("insert into test (name)values(?)", new Object[]{"吃人的肉"});
        /**
         * 修改
         */
        Jdbc.execute("update test set name=? where id=?", new Object[]{"吃人的肉1","1"});
        /**
         * 删除
         */
        Jdbc.execute("delete from test where id=?",new Object[]{"1"});

        //------------------------下面为实体类操作------------------------------------------

        final Test test=new test();
        Jdbc.save(test);//插入
        Jdbc.update(test);//修改
        Jdbc.delete(test);//删除
        List list=Jdbc.find("select * from t_user", Test.class, new Object[]{});//查询返回实体类

        //------------------------下面为事务操作------------------------------------------

        /**
         * 事务处理
         */
        Jdbc.shiwu(new LqShiWu() {
            @Override
            public void shiwu(LqJdbcFactory jdbc) {
                if (1!=1) {//验证判断
                    jdbc.shiB=9;//如果验证通过返回自定义的状态码
                    return;
                }
                jdbc.find("select * from t_user where id=?", new Object[]{"1"});
                jdbc.execute("insert into test (name)values(?)", new Object[]{"吃人的肉"});
                jdbc.execute("update test set name=? where id=?", new Object[]{"吃人的肉1","1"});
                jdbc.execute("delete from test where id=?",new Object[]{"1"});
                Jdbc.save(test);//插入
                Jdbc.update(test);//修改
                Jdbc.delete(test);//删除
            }
        });

        /**
         * 操作结果集
         */
        Jdbc.operationResultSet(new LqResultSet() {
            @Override
            public void getResultSet(LqJdbcFactory jdbc) {
                ResultSet rs = jdbc.findResultSet("select photo from t_user where id=?",new Object[]{"5"});
                try {
                    while (rs.next()) {
                        InputStream in=rs.getBinaryStream("photo");
                    }
                } catch (sqlException e) {
                    e.printstacktrace();
                }
            }
        });

        /**
         * 多种数据库操作
         */
        final StringBuffer sb=new StringBuffer();
        final List listCs2=new ArrayList();
        Jdbc.sql(new DatabasesInterface() {
            public String oracle() {
                sb.append("select * from admin where id=?");
                listCs2.add("1");
                return null;
            }
            public String MysqL() {
                sb.append("select * from admin where id=?");
                listCs2.add("1");
                return null;
            }
            public String sqlserver() {
                sb.append("select * from admin where id=?");
                listCs2.add("1");
                return null;
            }
        });
        List list2=Jdbc.find(sb.toString(),listCs2.toArray());
        System.out.println(list2);

        /**
         * 批量执行
         */
        final String sql="insert into test (name)values(?)";
        Jdbc.piliang(sql,new LqPiLiang() {
            public void piliang(LqJdbcFactory jdbc) {
                for (int i = 0; i < 100; i++) {
                    jdbc.executeS(new Object[]{i+""});
                }
            }
        });
        
        /**
         * 多数据源操作
         */
        Map map=Jdbc.getDSNames();//得到除认数据源外的所有数据源名称
        List listDdb=Jdbc.find("select * from test");//读取认数据源
        List listDrdb=Jdbc.getDS(readDB).find("select * from test");//读取第二个数据源
        List listDwdb=Jdbc.getDS(writeDB).find("select * from test");//读取第三个数据源



    }
}

下面为配制文件 lqjdbc.properties

#MysqL_DRIVER
DriverClassName=com.MysqL.jdbc.Driver
#MysqL_URL
AllUrl=jdbc:MysqL://127.0.0.1/db4?uSEOldaliasMetadataBehavior=true&useUnicode=true&characterEncoding=utf-8&rewriteBatchedStatements=true***root***123456
#初始化链接数
InitialPoolSize=50
#最小链接数
MinPoolSize=20
#最大链接数
MaxPoolSize=100
#执行线程数-版本支持2.3以上版本
NumHelperThreads=20
#每页显示多少条数据
PageSize=15
#多少页一组
GroupPageSize=5
#打印日志
sqlLog=true
#是否打印查询耗时-版本支持2.1.9以上版本
sqlSuccesstime=true




#^^^^^^^^^^^^^^^^^^^^^^^读^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#MysqL_URL
lqjdbc.appender.query.AllUrl=jdbc:MysqL://127.0.0.1/db2?uSEOldaliasMetadataBehavior=true&useUnicode=true&characterEncoding=utf-8&rewriteBatchedStatements=true***root***123456
#MysqL_DRIVER
lqjdbc.appender.query.DriverClassName=com.MysqL.jdbc.Driver
#初始化链接数
lqjdbc.appender.query.InitialPoolSize=50
#最小链接数
lqjdbc.appender.query.MinPoolSize=20
#最大链接数
lqjdbc.appender.query.MaxPoolSize=100
#执行线程数-版本支持2.3以上版本
lqjdbc.appender.query.NumHelperThreads=20
#每页显示多少条数据
lqjdbc.appender.query.PageSize=15
#多少页一组
lqjdbc.appender.query.GroupPageSize=5
#打印日志
lqjdbc.appender.query.sqlLog=true
#是否打印查询耗时-版本支持2.1.9以上版本
lqjdbc.appender.query.sqlSuccesstime=true






#^^^^^^^^^^^^^^^^^^^^^^^写^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#MysqL_URL
lqjdbc.appender.write.AllUrl=jdbc:MysqL://127.0.0.1/db3?uSEOldaliasMetadataBehavior=true&useUnicode=true&characterEncoding=utf-8&rewriteBatchedStatements=true***root***123456
#MysqL_DRIVER
lqjdbc.appender.write.DriverClassName=com.MysqL.jdbc.Driver
#初始化链接数
lqjdbc.appender.write.InitialPoolSize=50
#最小链接数
lqjdbc.appender.write.MinPoolSize=20
#最大链接数
lqjdbc.appender.write.MaxPoolSize=100
#执行线程数-版本支持2.3以上版本
lqjdbc.appender.write.NumHelperThreads=20
#每页显示多少条数据
lqjdbc.appender.write.PageSize=15
#多少页一组
lqjdbc.appender.write.GroupPageSize=5
#打印日志
lqjdbc.appender.write.sqlLog=true
#是否打印查询耗时-版本支持2.1.9以上版本
lqjdbc.appender.write.sqlSuccesstime=true

LqJdbc 官网

http://os.zhongziyun.com/code/41750/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐