1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/zhongziyun-LqJdbc

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

LqJdbc

Введение

Лёгкий в использовании проект для работы с базами данных с открытым исходным кодом.

Архитектура программного обеспечения

Описание архитектуры программного обеспечения.

Особенности функционала

  • Можно включить паразитический режим и полностью интегрироваться с любым проектом. (Подробности см. в инструкции по использованию.)
  • Можно работать без конфигурационных файлов. (Подробности см. в инструкции по использованию).

Инструкция по установке

  1. Скопируйте исходный код в проект.
  2. Скопируйте конфигурационный файл (lqjdbc.properties) в проект.
  3. Настройте источник данных, изменив файл lqjdbc.properties.

Инструкция по использованию

-- Конфигурационный файл

#mysql7 com.mysql.jdbc.Driver
#mysql8 com.mysql.cj.jdbc.Driver
DriverClassName=com.mysql.jdbc.Driver
AllUrl=jdbc:mysql://127.0.0.1:3306/ley?useSSL=false&serverTimezone=UTC&useOldAliasMetadataBehavior=true&useUnicode=true&characterEncoding=utf-8&rewriteBatchedStatements=true&allowMultiQueries=true***root***root
# Инициализация пула соединений
InitialPoolSize=0
# Минимальный размер пула
MinPoolSize=0
# Максимальный размер пула
MaxPoolSize=1
# Количество рабочих потоков — поддерживается версия 2.3 и выше
NumHelperThreads=1
# Отображать количество строк на странице
PageSize=15
# Группировка страниц
GroupPageSize=5
# Логирование SQL-запросов
SqlLog=true
# Логировать время выполнения успешных запросов — поддерживается версия 2.1.9 и выше
SqlSuccessTime=true


#^^^^^^^^^^^^^^^^^^^^^^^ Журнал базы данных ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lqjdbc.appender.log.DriverClassName=org.sqlite.JDBC
lqjdbc.appender.log.AllUrl=jdbc:sqlite:log.db***root***0eDRV2TNI5hb
lqjdbc.appender.log.InitialPoolSize=0
lqjdbc.appender.log.MinPoolSize=0
lqjdbc.appender.log.MaxPoolSize=1
lqjdbc.appender.log.NumHelperThreads=1
lqjdbc.appender.log.PageSize=15
lqjdbc.appender.log.GroupPageSize=5
lqjdbc.appender.log.SqlLog=true
lqjdbc.appender.log.SqlSuccessTime=true


#^^^^^^^^^^^^^^^^^^^^^^^ База данных фильмов ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lqjdbc.appender.zzy.DriverClassName=org.sqlite.JDBC
lqjdbc.appender.zzy.AllUrl=jdbc:sqlite:zzy.db***root***0eDRV2TNI5hb
lqjdbc.appender.zzy.InitialPoolSize=50
lqjdbc.appender.zzy.MinPoolSize=20
lqjdbc.appender.zzy.MaxPoolSize=100
lqjdbc.appender.zzy.NumHelperThreads=20
lqjdbc.appender.zzy.PageSize=15
lqjdbc.appender.zzy.GroupPageSize=5
lqjdbc.appender.zzy.SqlLog=true
lqjdbc.appender.zzy.SqlSuccessTime=true


#^^^^^^^^^^^^^^^^^^^^^^^ Защити Землю ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#MYSQL_URL
lqjdbc.appender.xyx.AllUrl=jdbc:mysql://192.168.1.254/hhh?useOldAliasMetadataBehavior=true&useUnicode=true&characterEncoding=utf-8&rewriteBatchedStatements=true***root***376870344
#MYSQL_DRIVER
lqjdbc.appender.xyx.DriverClassName=com.mysql.jdbc.Driver
#Инициализация пула соединений
lqjdbc.appender.xyx.InitialPoolSize=5
#Минимальный размер пула
lqjdbc.appender.xyx.MinPoolSize=1
#Максимальный размер пула
lqjdbc.appender.xyx.MaxPoolSize=10
#Количество рабочих потоков — поддерживается версия 2.3 и выше
lqjdbc.appender.xyx.NumHelperThreads=3
#Отображать количество строк на странице
lqjdbc.appender.xyx.PageSize=15
#Группировка страниц
lqjdbc.appender.xyx.GroupPageSize=5
#Логирование SQL-запросов
lqjdbc.appender.xyx.SqlLog=true
#Логировать время выполнения успешных запросов — поддерживается версия 2.1.9 и выше
lqjdbc.appender.xyx.SqlSuccessTime=true
package test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.collections.map.ListOrderedMap;

import com.lq.util.jdbc.DatabasesInterface;
import com.lq.util.jdbc.Jdbc;
import com.lq.util.jdbc.LqEntitySql;
import com.lq.util.jdbc.LqJdbcFactory;
import com.lq.util.jdbc.LqPiLiang;
import com.lq.util.jdbc.LqResultSet;
import com.lq.util.jdbc.LqShiWu;
import com.lq.util.jdbc.Page;

public class Test extends BaseDB{
    public static void main(String[] args) {
        org.apache.log4j.PropertyConfigurator.configure(System.getProperty("user.dir")+"/config/log4j.properties");
        com.lq.util.jdbc.PropertyConfigurator.configure("config/lqjdbc.properties");
    }
    
    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<Test> 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);//Удалить
            }
        });

        /**
         * Хранение изображений <файл>
         */
        File img = new File("pic.jpeg");
        int c = Jdbc.execute("update image set pic=?",new Object[]{img});
        img.delete();

        /**
         * Хранение изображений <поток>
         */
        FileInputStream in = null;
        try {
            in =new FileInputStream(new File("pic.jpeg"));
            int c2 = Jdbc.execute("update image set pic=?",new Object[]{in});
        } catch (FileNotFoundException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        } finally {
            try {
                in.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

        /**
         * Чтение изображений
         */
        List<ListOrderedMap> listImg = Jdbc.getDS("pg").find("select area_img from company_area limit 1 ");
        InputStream inImg = (InputStream) listImg.get(0).get("area_img");

        /**
         * Операция с результатами запроса
         */
        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;
            }
            @Override
            public String postgresql() {
                sb.append("select * from admin where id=?");
                listCs2.add("1"); Данный текст написан на языке Java.

#### Участие в проекте:
1. Форк этого репозитория.
2. Создание ветви Feat_xxx.
3. Отправка кода.
4. Создание Pull Request.

#### Навыки:
1. Использование Readme_XXX.md для поддержки разных языков, например Readme_en.md, Readme_zh.md.
2. Официальный блог Gitee — blog.gitee.com.
3. Вы можете перейти по адресу https://gitee.com/explore, чтобы узнать о выдающихся проектах с открытым исходным кодом на Gitee.
4. GVP (Gitee Most Valuable Project) — это проект с открытым исходным кодом, который был всесторонне оценён и признан выдающимся.
5. Руководство по использованию от Gitee: https://gitee.com/help.
6. На Gitee есть рубрика Gitee Stars, где представлены участники Gitee, демонстрирующие свои навыки.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Лёгкий в использовании открытый проект для работы с базами данных. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/zhongziyun-LqJdbc.git
git@api.gitlife.ru:oschina-mirror/zhongziyun-LqJdbc.git
oschina-mirror
zhongziyun-LqJdbc
zhongziyun-LqJdbc
master