当前位置: 首页 > news >正文

网站开发的关键计算机资源计划seo优化网

网站开发的关键计算机资源计划,seo优化网,电商平台建设方案,中国企业500强中国铁建Gitee 点赞关注不迷路 项目地址 快速入门 模块所属层级描述快照版本正式版本wu-database-lazy-lambdalambda针对不同数据源wu-database-lazy-orm-coreorm 核心orm核心处理wu-database-lazy-sqlsql核心处理成处理sql解析、sql执行、sql映射wu-elasticsearch-starterESESwu-hb…Gitee 点赞关注不迷路 项目地址 快速入门 模块所属层级描述快照版本正式版本wu-database-lazy-lambdalambda针对不同数据源wu-database-lazy-orm-coreorm 核心orm核心处理wu-database-lazy-sqlsql核心处理成处理sql解析、sql执行、sql映射wu-elasticsearch-starterESESwu-hbase-starterhbasehbasewu-database-lazy-datasource-starter数据源处理数据源处理 简介 特性 强大的CRUD操作内置通过注入 LazyLambdaStream 对象即可实现表单的大部分CRUD操作支持Lambda形式的调用 通过Lambda表达式方便的编写各类查询条件内置分页查询通过构造分页对象查询数据统计分页总数支持多种数据库支持MySQL 支持数据库 任何能使用 LazyLambdaStream进行CRUD并且支持标准SQL的数据库具体支持情况如下 MySQL 框架架构 代码托管 Gitee Github 参与贡献 欢迎各位同学一起参与完善wu-framework-lazy-orm-spring-starter 贡献代码代码地址wu-framework-lazy-orm-spring-starter欢迎提交Issue或者Pull Requests 教程、案例、使用者名单 暂无 版本功能 Lazy-ORM 是一款针对懒人快速开发的ORM框架 支持实体类反射数据进行数据库CRUD操作 新增灵性数据插入更新(自动过滤空值) 新增配置导出数据忽略指定字段 spring.datasource.ignore-exported-fields: - id 新增配置声明导出数据中的特殊字符 spring.datasource.special-fields: - ASC 新增LazyScan自动扫描实体创建表 新增自动填充表数据 新增创建表方法 新增更新表字段方法 修复数据插入布尔类型、数字类型字段 字符串更改为-原始数据类型 新增逆向工程功能生成对应的Java class 支持mybatis 适配 使用Spring 进行事物管理 修复数据为null 时执行sql 数据为 “null” 问题 新增自动过滤null字段的upsert接口 新增字段自动关联转译 注解方法入参数通过数据库转译LazyTableArgsTranslation注解方法出参数转译LazyTableTranslation通过一个字段管理其他表的一条数据LazyTableTranslationOneField通过一个字段管理其他表的数据LazyTableTranslationOneToManyField 快速开始 我们将通过一个简单的 Demo 来阐述 wu-framework-lazy-orm-spring-starter 的强大功能在此之前我们假设您已经 拥有 Java 开发环境以及相应 IDE熟悉 Spring Boot熟悉 Maven 现有一张 User 表其表结构如下 idnameannual_salaryemail1吴小二18test1lazy.com2吴三20test2lazy.com3吴小四28test3lazy.com4吴小五21test4lazy.com5吴小六24test5lazy.com 其对应的数据库 Schema 脚本如下 DROP TABLE IF EXISTS user;CREATE TABLE user (id BIGINT(20) NOT NULL COMMENT 主键ID,name VARCHAR(30) NULL DEFAULT NULL COMMENT 姓名,annual_salary INT(11) NULL DEFAULT NULL COMMENT 年薪,email VARCHAR(50) NULL DEFAULT NULL COMMENT 邮箱,PRIMARY KEY (id) ); 其对应的数据库 Data 脚本如下 DELETE FROM user;INSERT INTO user (id, name, annual_salary, email) VALUES (1, 吴小二, 18, test1lazy.com),(2, 吴三, 20, test2lazy.com),(3, 吴小四, 28, test3lazy.com),(4, 吴小五, 21, test4lazy.com),(5, 吴小六, 24, test5lazy.com); 初始化工程 创建一个空的 Spring Boot 工程工程将以 MySQL 作为默认数据库进行演示 添加依赖 引入 Spring Boot Starter 父工程 parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.6.7/versionrelativePath/ /parent 引入 spring-boot-starter、spring-boot-starter-test、wu-framework-lazy-orm-spring-starter、mysql 依赖 dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency!--懒人依赖--dependencygroupIdtop.wu2020/groupIdartifactIdwu-framework-lazy-orm-spring-starter/artifactIdversion1.2.5-JDK17-SNAPSHOT/version/dependency!--mysql--dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactId/dependency /dependencies 配置 在 application.yml 配置文件中添加 mysql 数据库的相关配置 # DataSource Config spring:datasource:username: rootpassword: rooturl: jdbc:mysql://127.0.0.1:3306/test?useUnicodetruecharacterEncodingUTF-8serverTimezoneAsia/Shanghaidriver-class-name: com.mysql.cj.jdbc.Driver Spring Boot 启动类 SpringBootApplication public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}} 编码 编写实体类 User.java此处使用了 Lombok 简化代码 Data public class User {private Long id;private String name;private Integer annualSalary;private String email; } 开始使用 添加测试类进行功能测试 SpringBootTest public class SampleTest {AutowiredLazyLambdaStream lazyLambdaStream;Testpublic void testSelect() {System.out.println((----- selectAll method test ------));// 等同于执行sql select * from sys_userCollectionUser userList lazyLambdaStream.select(LazyWrappers.UserlambdaWrapper()).collection();AssertFactory.assertEquals(5, userList.size());userList.forEach(System.out::println);}} 小结 通过以上几个简单的步骤我们就实现了 User 表的 CRUD 功能甚至连 XML 文件都不用编写 安装 全新的 wu-framework-lazy-orm-spring-starter 1.2.5-JDK17-SNAPSHOT 版本基于 JDK17提供了 lambda 形式的调用所以安装集成 MP3.0 要求如下 JDK 8Maven or Gradle Spring Boot Maven dependencygroupIdtop.wu2020/groupIdartifactIdwu-framework-lazy-orm-spring-starter/artifactIdversion1.2.5-JDK17-SNAPSHOT/version/dependency配置 wu-framework-lazy-orm-spring-starter 的配置异常的简单我们仅需要一些简单的配置即可使用 wu-framework-lazy-orm-spring-starter 的强大功能 Spring Boot 工程 配置yaml # DataSource Config spring:datasource:username: rootpassword: rooturl: jdbc:mysql://127.0.0.1:3306/test?useUnicodetruecharacterEncodingUTF-8serverTimezoneAsia/Shanghaidriver-class-name: com.mysql.cj.jdbc.Driver 注解 ::: tip 本文将介绍 wu-framework-lazy-orm-spring-starter 注解包相关类详解更多详细描述可点击查看源码注释 ::: 描述使用位置对象 LazyTable LazyTable(tableName sys_user) public class User {private Long id;private String name;private Integer annualSalary;private String email; } 属性类型必须指定默认值描述tableNameString否“”表名schemaString否“”schemacommentString否“”表注释perfectTableboolean否“false”完善表smartFillFieldboolean否false智能填充bean属性 针对数据源 如mysql查询结果、http请求结果中包含的数据字段不再当前对象中 LazyTableFieldId LazyTable(tableName sys_user) public class User {LazyTableFieldIdprivate Long id;private String name;private Integer annualSalary;private String email; } 属性类型必须指定默认值描述valueString否“”字段名nameString否“”字段名commentString否“”字段注释typeString否“”字段了类型varchar、int等indexTypeLayerField.LayerFieldType否LayerField.LayerFieldType.ID索引类型idTypeIdType否AUTOMATIC_ID主键自增类型 LayerFieldType 值描述FIELD_TYPE字段类型ID数据库 IDUNIQUE唯一性索引AUTOMATIC自动的 IdType 值描述AUTOMATIC_ID主键ID 默认自增INPUT_ID输入主键 LazyTableField LazyTable(tableName sys_user) public class User {private Long id;private String name;LazyTableField(salary)private Integer annualSalary;private String email; } 属性类型必须指定默认值描述valueString否“”字段名nameString否“”字段名commentString否“”字段注释columnTypeString否“”字段了类型varchar、int等existboolean否true是否存在indexTypeLayerField.LayerFieldType否LayerField.LayerFieldType.ID索引类型idTypeIdType否AUTOMATIC_ID主键自增类型 快速测试 自动导入 wu-framework-lazy-orm-spring-starter 测试所需相关配置。 示例工程 源码 wu-framework-lazy-orm-spring-starter-simple(opens new window) 使用教程 添加测试依赖 Maven: dependencygroupIdtop.wu2020/groupIdartifactIdwu-framework-lazy-orm-spring-starter/artifactIdversion1.2.5-JDK17-SNAPSHOT/version /dependencyGradle compile group: top.wu2020, name: wu-framework-lazy-orm-spring-starter, version: 1.2.5-JDK17-SNAPSHOT编写测试用例 Autowired private LazyOperation lazySqlOperation;/*** 用户信息简单插入*/ ApiOperation(用户信息简单插入) PostMapping(/lazy/upsert) public void lazyUpsert() {SysUser sysUser new SysUser();sysUser.setUsername(小来);sysUser.setPassword(1234);sysUser.setId(1L);// 同执行sql insert into sys_user (user_name,password,id) values(小来,1234,1) ON DUPLICATE KEY UPDATE user_namevalues (user_name),passwordvalues (password),idvalues (id)lazySqlOperation.upsert(sysUser); } 核心功能 代码生成器 快速开始 安装 dependencygroupIdtop.wu2020/groupIdartifactIdwu-framework-lazy-orm-spring-starter/artifactIdversion1.2.5-JDK17-SNAPSHOT/version /dependency::: tip 直接使用maven引入项目通过配置文件加载生成代码 ::: 配置文件 spring:lazy:enable-reverse-engineering: true # 允许逆向工程reverse-engineering:enable-lazy: false # 不允许lazy系列注解enable-lombok-accessors: false # 不允许 lombok.accessorsenable-lombok-data: false # 不允许 lombok.datapackage-name: org.wu.lazy # 包名enable-swagger: false # 不允许 swagger使用 启动Spring-boot的启动类即可 成品 CRUD 接口 upsert /*** 批量更新或插入** param objects* param T*/ T void upsert(Object... objects); 参数说明 类型参数名描述Object…objects任意实体对象 upsert 案例 public static void main(String[] args) {LazyLambdaStream lazyLambdaStream LazyLambdaStreamFactory.createLazyLambdaStream(127.0.0.1,3306,acw,root,wujiawei);DataBaseUser dataBaseUser new DataBaseUser();dataBaseUser.setUsername(username);dataBaseUser.setAddress(地址);dataBaseUser.setAge(18);// 同执行SQL: insert into user (id,username,birthday,sex,age,age_type,address_id) VALUES (null,username,null,null,18,null,null) ON DUPLICATE KEY UPDATE //idvalues (id),usernamevalues (username),birthdayvalues (birthday),sexvalues (sex),agevalues (age),age_typevalues (age_type),address_idvalues (address_id)lazyLambdaStream.upsert(dataBaseUser);}insert /*** 插入 单个/list** param t* param T*/ T void insert(T t); 参数说明 类型参数名描述Tt实体对象 insert 案例 public static void main(String[] args) {LazyLambdaStream lazyLambdaStream LazyLambdaStreamFactory.createLazyLambdaStream(127.0.0.1,3306,acw,root,wujiawei);DataBaseUser dataBaseUser new DataBaseUser();dataBaseUser.setUsername(username);dataBaseUser.setAddress(地址);dataBaseUser.setAge(18);// 同执行SQL: INSERT INTO user(username,birthday,sex,age,age_type,address_id)values(null,username,null,null,18,null,null)lazyLambdaStream.insert(dataBaseUser);}upsertRemoveNull /*** 更新或者插入单个执行 去除空值* 多个数据性能会慢不经常使用*/ Object upsertRemoveNull(Object... t);参数说明 类型参数名描述Object…t任意实体对象 upsertRemoveNull 案例 public static void main(String[] args) {LazyLambdaStream lazyLambdaStream LazyLambdaStreamFactory.createLazyLambdaStream(127.0.0.1,3306,acw,root,wujiawei);Address address new Address();address.setId(1L);address.setLongitude(1.2d);// 执行SQL: insert into address (id,latitude,longitude) VALUES (1,0.0,1.2) ON DUPLICATE KEY UPDATE // idvalues (id),latitudevalues (latitude),longitudevalues (longitude)lazyLambdaStream.upsertRemoveNull(address);ListAddress addresses new ArrayList();for (int i 0; i 10; i) {Address addressa new Address();address.setId(1L);address.setLongitude(1.2d);addresses.add(addressa);}// 执行SQL: insert into address (id,name,latitude,longitude) VALUES (null,null,0.0,0.0),(null,null,0.0,0.0),(null,null,0.0,0.0),(null,null,0.0,0.0),(null,null,0.0,0.0),(null,null,0.0,0.0),(null,null,0.0,0.0),(null,null,0.0,0.0),(null,null,0.0,0.0),(null,null,0.0,0.0) ON DUPLICATE KEY UPDATE// idvalues (id),namevalues (name),latitudevalues (latitude),longitudevalues (longitude)lazyLambdaStream.upsert(addresses);}lazyPage /*** 分页查询** param T* return*/ T PageT lazyPage(NonNull Page lazyPage, NonNull Class returnType, String sql, Object... params);参数说明 类型参数名描述PagelazyPage分页对象ClassreturnType返回数据类型Stringsql执行的sql语句Object…paramssql执行参数 lazyPage 案例 public static void main(String[] args) {LazyLambdaStream lazyLambdaStream LazyLambdaStreamFactory.createLazyLambdaStream(127.0.0.1,3306,acw,root,wujiawei);// 执行SQL: select user.* from user where user.age 18 and user.sex 男PageDataBaseUser dataBaseUserLazyPage lazyLambdaStream.selectPage(LazyWrappers.DataBaseUserlambdaWrapper().gt(DataBaseUser::getAge, 18).eq(DataBaseUser::getSex, 男),new Page(1, 10));System.out.println(dataBaseUserLazyPage); }executeSQL /*** param sql* param t* param params* param T* return*/ T ListT executeSQL(String sql, Class t, Object... params); 参数说明 类型参数名描述Classt返回数据类型Stringsql执行的sql语句Object…paramssql执行参数 executeSQL 案例 public static void main(String[] args) {LazyLambdaStream lazyLambdaStream LazyLambdaStreamFactory.createLazyLambdaStream(127.0.0.1,3306,acw,root,wujiawei);// 执行SQL: select user.* from user where user.age 18 and user.sex 男ListDataBaseUser dataBaseUsers lazyLambdaStream.executeSQL(select user.* from user where user.age %s and user.sex %s, DataBaseUser.class, 18, 男);System.out.println(dataBaseUsers); }executeSQLForBean /*** description 执行SQL 返回指定类型** param* return* exception/throws* author Jiawei Wu* date 2020/12/29 下午1:44*/ T T executeSQLForBean(String sql, Class? t, Object... params);参数说明 类型参数名描述Classt返回数据类型Stringsql执行的sql语句Object…paramssql执行参数 executeSQLForBean 案例 public static void main(String[] args) {LazyLambdaStream lazyLambdaStream LazyLambdaStreamFactory.createLazyLambdaStream(127.0.0.1,3306,acw,root,wujiawei);// 执行SQL: select user.* from user where user.age 18 and user.sex 男 limit 1DataBaseUser dataBaseUser lazyLambdaStream.executeSQLForBean(select user.* from user where user.age %s and user.sex %s limit 1,DataBaseUser.class,18,男);System.out.println(dataBaseUser); }perfect /*** describe 完善表** param entityClasses class 对象数组* return* author Jia wei Wu* date 2022/1/2 5:05 下午**/ T T perfect(NonNull Class... entityClasses);参数说明 类型参数名描述Class…entityClasses实体对象 perfect 案例 public static void main(String[] args) {LazyLambdaStream lazyLambdaStream LazyLambdaStreamFactory.createLazyLambdaStream(127.0.0.1,3306,acw,root,wujiawei);LazyDatabaseJsonMessage.lazyDataSourceType DataSourceType.MySQL;// 完善表结构lazyLambdaStream.perfect(Address.class);}createTable /*** describe 创建表** param* return* author Jia wei Wu* date 2022/1/2 7:48 下午**/ T T createTable(NonNull Class?... entityClasses);参数说明 类型参数名描述Class…entityClasses实体对象 createTable 案例 public static void main(String[] args) {LazyLambdaStream lazyLambdaStream LazyLambdaStreamFactory.createLazyLambdaStream(127.0.0.1,3306,acw,root,wujiawei);LazyDatabaseJsonMessage.lazyDataSourceType DataSourceType.MySQL;// 创建表lazyLambdaStream.createTable(Address.class);}updateTable /*** describe 更新表** param* return* author Jia wei Wu* date 2022/1/2 7:48 下午**/ T T updateTable(NonNull Class?... entityClasses);参数说明 类型参数名描述Class…entityClasses实体对象 updateTable 案例 public static void main(String[] args) {LazyLambdaStream lazyLambdaStream LazyLambdaStreamFactory.createLazyLambdaStream(127.0.0.1,3306,acw,root,wujiawei);LazyDatabaseJsonMessage.lazyDataSourceType DataSourceType.MySQL;// 更新表lazyLambdaStream.updateTable(Address.class);}execute /*** 执行操作** param persistenceRepository* return*/ ListObject execute(PersistenceRepository persistenceRepository);参数说明 类型参数名描述PersistenceRepositorypersistenceRepository预执行SQL需要的属性 execute 案例 // 使用相当灵活、想咋玩就咋玩executeOne /*** 执行操作** param persistenceRepository* return*/ Object executeOne(PersistenceRepository persistenceRepository);参数说明 类型参数名描述PersistenceRepositorypersistenceRepository预执行SQL需要的属性 executeOne 案例 public static void main(String[] args) {LazyLambdaStream lazyLambdaStream LazyLambdaStreamFactory.createLazyLambdaStream(127.0.0.1,3306,acw,root,wujiawei);PersistenceRepository persistenceRepository PersistenceRepositoryFactory.create();persistenceRepository.setQueryString(select user.* from user where user.age 18 and user.sex 男 limit 1);persistenceRepository.setExecutionType(LambdaTableType.SELECT);persistenceRepository.setResultClass(DataBaseUser.class);// 执行SQL: select user.* from user where user.age 18 and user.sex 男 limit 1DataBaseUser dataBaseUser (DataBaseUser) lazyLambdaStream.executeOne(persistenceRepository);System.out.println(dataBaseUser); }聪明懒人的操作接口 saveSqlFile /*** param nameDatabase 数据库名 默认当前连接数据* System.getProperty(user.dir) 数据文件地址* return 保存数据到本地数据* description 数据库数据存储到sql文件(删除表后、创建表 数据使用upsert)* author Jiawei Wu* date 2021/1/31 6:40 下午**/ void saveSqlFile(String nameDatabase);参数说明 类型参数名描述StringnameDatabase数据库名 默认当前连接数据 saveSoftSqlFile /*** param nameDatabase 数据库名 默认当前连接数据* System.getProperty(user.dir) 数据文件地址* return 保存数据到本地数据* description 柔和形 数据库数据存储到sql文件(表存在不删除 数据使用upsert)* author Jiawei Wu* date 2021/1/31 6:40 下午**/ void saveSoftSqlFile(String nameDatabase);参数说明 类型参数名描述StringnameDatabase数据库名 默认当前连接数据 saveUpsertSqlFile /*** describe 导出增量式更新数据** param nameDatabase 数据库名 默认当前连接数据* System.getProperty(user.dir) 数据文件地址* return 保存数据到本地数据* author Jia wei Wu* date 2022/4/9 22:57**/ void saveUpsertSqlFile(String nameDatabase);参数说明 类型参数名描述StringnameDatabase数据库名 默认当前连接数据 stuffed /*** 自动填充数据* SELECT* ** FROM* information_schema.COLUMNS* WHERE* TABLE_SCHEMA lazy* AND TABLE_NAME sys_user;** param schema 数据库* param table 表* param num 数量*/ void stuffed(String schema, String table, Long num);/*** 自动填充数据* SELECT* ** FROM* information_schema.COLUMNS* WHERE* TABLE_SCHEMA lazy* AND TABLE_NAME sys_user;** param table class 对应数据库结构的class* param num 数量*/ void stuffed(Class table, Long num);参数说明 类型参数名描述Stringschema数据库名Stringtable表名Longnum数量 stuffedAll /*** 塞入所有数据** param num*/ void stuffedAll(Long num);参数说明 类型参数名描述Longnum存储数据数量 stuffedJava /*** describe 根据表明创建出Java文件** param schema 数据库* param tableName 表名* return* author Jia wei Wu* date 2022/1/23 12:23 上午**/ void stuffedJava(String schema, String tableName);参数说明 类型参数名描述Stringschema数据库StringtableName表名 Gitee 点赞关注不迷路 项目地址
http://www.tj-hxxt.cn/news/232755.html

相关文章:

  • 一个企业网站如何能放到互联网上 vps企业网站推广成功案例
  • 曲靖 曲靖网站建设软件(app)开发做网站在哪个程序做
  • 乐山网站建设如何做网站关键词霸屏
  • 网络科技有限公司网站90后小姑娘做网站
  • 免费网站优化Sensei wordpress插件
  • 做网站都需要哪些软件济南会做网站的公司
  • 企业网站管理系统下载萝岗电子商务网站建设
  • 把网站做到wordpress里面去excel做的最好的网站
  • 网站建设前期费用管理类网站开发价格
  • 小学网站怎么做数字化管理咨询
  • 银川网站建设网站怎么做图片轮播
  • 网站服务器一年的费用logo设计的最好的公司
  • 网站遭到攻击 运维怎么做济南建设网站哪里好
  • 焦作 做 网站西安有哪些网站建设公司
  • 网站设计包括哪些步骤自己做网站有什么意义
  • 用户网站建设渠道网络是什么意思
  • 建设银行网站不能登录密码错误建设网页
  • 做企业网站为什么要服务器呢佛山营销型网站建设
  • 舆情网站直接打开海口网站运营托管咨询
  • 兰州财经大学网站开发与维护成都市房产信息网
  • 无需域名网站建设网站调用wordpress
  • 网站建设如何快速增加用户光纤做网站 移动不能访问电信
  • 图片设计师网站wordpress外观插件
  • 网站建设服务合同样本为公益组织做网站
  • 广东省做网站推广公司wordpress静态分离
  • 不想花钱做网站推广现代简约装修三室两厅两卫样
  • 万网如何建网站朔州seo网站建设
  • 自己开网站工作室林州建筑网
  • 网站建设捌金手指下拉十六长宁品牌网站建设
  • 汕头电商网站建设易店无忧官网