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

OSCHINA-MIRROR/qiaoyatao-sql-plus

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

sql_plus

1. Введение

Острое SQL.

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

Собственный SQL реализует функции добавления, удаления, изменения и запроса данных. Сущности наследуют класс Model или аннотацию AnnotationMapper. Также можно использовать класс SqlPuls2 для работы с базой данных и бесшовной интеграции с mybatis. Есть два генератора кода.

Можно настроить правила генерации кода, что позволяет сэкономить до 80 % времени разработки. Разработчику нужно только сосредоточиться на написании бизнес-логики, избегая траты времени на написание кода, не связанного с бизнесом. Это сокращает время разработки и повышает эффективность.

3. Руководство по установке

  1. Импортируйте пакет jar maven:
<dependency>
    <groupId>com.qiaoyatao</groupId>
    <artifactId>sql-plus</artifactId>
    <version>2.0.0-SNAPSHOT</version>
 </dependency>
  1. Создайте класс конфигурации и импортируйте следующую конфигурацию:

@Configuration public class SqlSessionCF {

@Autowired
private JdbcTemplate jdbc;

@Autowired
private SqlSessionFactory sessionFactory;

@Bean
public SqlSession2 sqlSession2(){
    return  new SqlSession2(jdbc);
}

@Bean
public SqlSession3 sqlSession3(){
    return  new SqlSession3(sessionFactory);
}

@Bean
public SqlHelper sqlHelper(){
    return  new SqlHelper(sessionFactory);
}

}

4. Использование

  1. Создайте структуру таблицы SQL через объект сущности.
  1. Объект сущности интегрирует Model:

    @Data
    public class Employee extends Model<Employee> {
    
        private  Integer id;
    
        private  String name;
    
        private  String age;
    
        private  String gender;
        
        private  Long deptId;
    
        private  String address;
    
        private Date createTime;
    }

Автоматически генерируется файл сущности:

DataSource source = new DataSource();
source.setUrl("jdbc:mysql://localhost:3306/tmc_info?useUnicode=true&characterEncoding=utf8&serverTimezone=CTT");
source.setUsername("root");
source.setPassword("root");
source.setDriverName("com.mysql.cj.jdbc.Driver");
GlobalConfig global = new GlobalConfig();
global.setConnection(source.get());
global.setAuthor("乔小乔");
global.setOutputDir("./src/test/java/");//文件路径
global.setDatabase("tmc_info");//база данных
//global.setExclude(new String[]{"sys_airport","sys_airport_city"}); исключить таблицы
//нужно создать таблицы (по умолчанию все таблицы)
//global.setInclude(new String[]{"sys_airport","sys_airport_city",
                //"sys_tmc_office","sys_user_role"});
PackageConfig pc = new PackageConfig();
AutoGenerator generator = new AutoGenerator();
generator.setGlobal(global);
generator.setPc(pc);
generator.execute();
source.close();
  1. Выполните создание таблицы:
Employee employee = new Employee();
employee.create();
  1. Проверьте результаты выполнения и обнаружите, что в базе данных создана таблица с именем employee.
CREATE TABLE `employee` (
  `id` int(11) DEFAULT NULL,
  `name` varchar(100) DEFAULT NULL,
  `age` varchar(100) DEFAULT NULL,
  `gender` varchar(100) DEFAULT NULL,
  `dept_id` bigint(11) DEFAULT NULL,
  `address` varchar(100) DEFAULT NULL,
  `create_time` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  1. Вставьте данные:

    Employee employee = new Employee();
    employee.setId(1);
    employee.setName("乔小乔");
    employee.setAddress("北京市昌平区生命科学园");
    employee.setAge("10");
    employee.setDeptId(1l);
    employee.setCreateTime(new Date());
    //1、отдельная вставка
    employee.insert(); 
  2. Пакетная вставка:

    List<Employee> list = new ArrayList<>();
    for (int i = 1; i <=10 ; i++) {
        Employee employee = new Employee();
        employee.setId(i);
        employee.setName("乔小��цио");
        employee.setAddress("北京市昌平区生命科学园");
        employee.setAge("10");
        employee.setDeptId(1l);
        employee.setCreateTime(new Date());
        list.add(employee);
    }
    Employee.insertList(list);//2、пакетная вставка
  3. Вставка в несколько таблиц:

    SysAccount account = new SysAccount();
    account.setPhone("15510304125");
    account.setUserName("乔小乔");
    Employee employee = new Employee();
    employee.setId(1);
    employee.setName("乔小乔");
    employee.setAddress("北京市昌平区生命科学园");
    employee.setAge("27");
    employee.setDeptId(1l);
    employee.setCreateTime(new Date());
    Employee.insertList(account,employee);//вставка разных типов
  4. Запрос по параметру id:

    //1、запрос по параметру id
    Employee one = new Employee().selectByid(1);
  5. Запрос по полю id сущности:

    //2、запрос по полю id сущности
    Employee employee = new Employee();
    employee.setId(2);
    Employee newEmployee =

2. **//参数id删除**

int i = new Employee().deleteById(1);


3. **//实体字段id删除**

Employee employee = new Employee(); employee.setId(2); employee.deleteById();

4. **//1、参数id更新**

Employee employee = new Employee(); employee.setCreateTime(new Date()); employee.setName("王梦妍"); employee.setAge("20"); employee.setGender("女"); employee.setCreateTime(new Date()); employee.setAddress("哈尔滨市"); employee.updateById(1);

5. **//实体字段id更新**
 ```
 Employee employee = new Employee();
 employee.setId(1);
 employee.setName("乔小乔");
 employee.setAddress("北京市昌平区生命科学园");
 employee.updateById();
 ```
6. **//查询一条**
 ```
 Employee employee = new Employee();
 employee.setName("乔小乔");
 employee.setAddress("北京市昌平区生命科学园");
 List<Employee> list = employee.selectList();
 ```
7. **//查询列表**
 ```
 Employee employee1 = new Employee();
 employee1.setName("乔小乔");
 employee1.setAddress("北京市昌平区生命科学园");
 Long i = employee1.count();
 ```
8. **//分页查询**
 ```
 Employee employee = new Employee();
 employee.setId(1);
 employee.setName("乔小乔");
 PageInfo<Employee> info = employee.selectPage(new Page(1, 10));
 ```
9. **//关键词删除(and)**
 ```
 Employee employee = new Employee();
 employee.setId(1);
 employee.setName("乔小��цио");
 employee.delete();
 ```
10. **//QueryModel删除 and 、or**
 ```
 QueryModel QueryModel = new QueryModel();
 QueryModel.eq("name","乔小乔");
 QueryModel.or("id",1);
 int delete = new Employee().delete(QueryModel);
 ```
11. **//QueryModel map删除**
 ```
 QueryModel QueryModel = new QueryModel();
 Map<String, Object> params = new HashMap<>();
 params.put("id",1);
 params.put("name","乔小乔");
 QueryModel.allEq(params);
 int delete = new Employee().delete(QueryModel);
 ```
12. **//QueryModel查询 and 、or**
 ```
 QueryModel QueryModel = new QueryModel();
 ```
13. **//QueryModel list 查询**
     ```
     QueryModel QueryModel = new QueryModel();
     QueryModel.eq("name","乔小乔");
     QueryModel.or("id",1);
     List<Employee> list = new Employee().selectList(QueryModel);
     ```
14. **//QueryModel 更新**
 ```
 QueryModel QueryModel = new QueryModel();
 ```
15. **//QueryModel map更新**
 ```
 QueryModel QueryModel = new QueryModel();
 Map<String, Object> params = new HashMap<>();
 params.put("id",1);
 params.put("name","乔小乔");
 QueryModel.allEq(params);
 int update = new Employee().update(QueryModel);
 ```
16. **//QueryModel 片段sql**
 ```
 QueryModel QueryModel = new QueryModel();
 Object [] params={1,"乔小乔"};
 String sql=" `id` =# AND `name` =#";
 //1、数组类型
 QueryModel.judge(sql,params);
 //2、可变类型
 QueryModel.judge(sql,1,"乔小乔");
 //3、对象类型
 Employee e = new Employee();
 e.setId(1);
 e.setName("老王");
 QueryModel.judge(sql,e);
 //1、查询一条
 Employee employee = new Employee().selectOne(QueryModel);
 //2、查询列表
 List<Employee> list = new Employee().selectList(QueryModel);
 //3、条件更新
 int update = new Employee().update(QueryModel);
 //4、条件删除
 int delete = new Employee().delete(QueryModel);
 ```
17. **//22、QueryModel 全量sql**
 ```
 QueryModel QueryModel = new QueryModel(); //*号默认会替换成字段,可以查询具体字段,切记不可as
 String sql="SELECT * FROM `employee` WHERE `id` = # AND `name` =#";
 //1、数组类型
 Object [] params={1,"乔小乔"};
 QueryModel.qL(sql,params);
 //2、可变类型
 QueryModel.qL(sql,1,"乔小乔");
 //3、对象类型
 Employee e = new Employee();
 e.setId(1);
 e.setName("老王");
 QueryModel QueryModel1 = new QueryModel();
 QueryModel1.qL(sql,e);
 //1、查询一条
 Employee employee = new Employee().selectOne(QueryModel1);
 //2、查询列表
 List<Employee> list = new Employee().selectList(QueryModel);
 //3、条件更新
 int update = new Employee().update(QueryModel);
 //4、条件删除
 int delete = new Employee().delete(QueryModel);
 ``` **Участие и вклад**

​    Автор: Цяо Сяоцяо (乔小乔)

​    Дата: ноябрь 2019 года

​    Описание: Если вы разработчик, и ваш бизнес достаточно сложен, а полей в таблице слишком много, то написание SQL-запросов может быть пустой тратой времени и сил. Большое количество повторяющихся SQL-запросов замедлит вашу эффективность разработки. Поэтому использование плагинов или инструментов — это лучший способ повысить эффективность написания кода, а также обеспечить его краткость и надёжность.

Как программист, вы пишете код не только для того, чтобы реализовать функции, но иногда вам нужно учитывать множество аспектов, таких как надёжность кода, читаемость, краткость, возможность повторного использования. Хороший программист пишет код, как произведение искусства, которое хочется держать в руках.

Цель создания этого плагина — повысить эффективность разработки, реализуя самые сложные функции с помощью минимального количества кода и тем самым повышая эффективность разработки.

Введение

Острый SQL (встроенный исполнитель SQL JdbcTemplate, после версии 2.0 используется встроенный исполнитель mybatis). Развернуть Свернуть
Отмена

Обновления

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

Участники

все

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

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