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

网站建设管理的建议大连住房和城乡建设网站

网站建设管理的建议,大连住房和城乡建设网站,网件路由器登陆网址,微信开放平台账号在当前微服务盛行的情况下#xff0c;Spring Boot 或 Spring Cloud 为基础的微服务体系是主流#xff0c; 也是目前业务场景中新的选型方向 数据库表 -- filesystem.user definitionCREATE TABLE user (id int(11) NOT NULL AUTO_INCREMENT,username varchar(50) NOT NULL,…在当前微服务盛行的情况下Spring Boot 或 Spring Cloud 为基础的微服务体系是主流 也是目前业务场景中新的选型方向 数据库表 -- filesystem.user definitionCREATE TABLE user (id int(11) NOT NULL AUTO_INCREMENT,username varchar(50) NOT NULL,password varchar(50) NOT NULL,created_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,updated_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT4 DEFAULT CHARSETutf8mb4; Maven 依赖 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdorg.example/groupIdartifactIdJooqSpringBoot/artifactIdversion1.0.0/versionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.2.1.RELEASE/version/parentpropertiesmaven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.targetjooq.version3.12.3/jooq.version/propertiesrepositoriesrepositoryidnexus/idnamenexus-repository/nameurlhttp://nexus.caih.local/repository/maven-public//urlreleasesenabledtrue/enabled/releases/repository/repositoriesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-jooq/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactId/dependencydependencygroupIdorg.jooq/groupIdartifactIdjooq-codegen/artifactIdscopeprovided/scope/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdexecutionsexecutiongoalsgoalbuild-info/goal/goals/execution/executionsconfigurationexecutabletrue/executable/configuration/plugin!-- 代码生成器插件 --plugingroupIdorg.jooq/groupIdartifactIdjooq-codegen-maven/artifactIdversion${jooq.version}/versionconfigurationjdbcdrivercom.mysql.cj.jdbc.Driver/driverurljdbc:mysql://112.126.80.77:12345/filesystem?serverTimezoneGMT%2B8/urluserroot/userpasswordadmin123456/password/jdbcgeneratordatabaseincludes.*/includesinputSchemafilesystem/inputSchema/databasetargetpackageNamecom.mxl.jooq/packageNamedirectory/src/main/java/directory/target/generator/configuration/plugin/plugins/build /project 配置 Spring Boot最大的一个特性就是有很多 AutoConfiguration 自动配置, spring-boot-starter-jooq 依赖于 spring-boot-starter-jdbc 其自动配置了数据源事务管理器等 spring-boot-starter-jooq 自动配置了 org.jooq.Configuration 和 org.jooq.DSLContext 对象。 我们只需要在 src/main/resources/application.yml 内写好数据源相关配置其他的一切都可以交给Spring Boot进行处理 src/main/resources/application.yml spring:datasource:url: jdbc:mysql://localhost:3306/learn-jooq?serverTimezoneGMT%2B8username: rootpassword: root 新增springboot启动类 package com.mxl;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplication public class JooqSpringBootDemo {public static void main(String[] args) {SpringApplication.run(JooqSpringBootDemo.class, args);} }编译jooq代码 mvn jooq-codegen:generate 编写业务代码 package com.mxl.controller;import com.mxl.info.UserInfo; import com.mxl.info.UserInfoRequest; import com.mxl.jooq.tables.records.UserRecord; import org.jooq.DSLContext; import org.jooq.Record; import org.jooq.Result; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.SerializationUtils; import org.springframework.web.bind.annotation.*;import java.util.ArrayList; import java.util.List;import static com.mxl.jooq.Tables.USER;RestController RequestMapping(value /demo) public class DemoController {private DSLContext dslContext;public DemoController(DSLContext dslContext) {this.dslContext dslContext;}GetMapping(/query)public ListUserInfo query(){// fetch方法可以返回一个结果集对象 Result// jOOQ的Result对象实现了List接口可以直接当做集合使用ListUserRecord fetchIntoClassResultList dslContext.select().from(USER).fetchInto(UserRecord.class);ListUserInfo result new ArrayList();for (UserRecord userRecord : fetchIntoClassResultList) {UserInfo userInfo new UserInfo();userInfo.setUserName(userRecord.getUsername());userInfo.setPassWord(userRecord.getPassword());result.add(userInfo);}return result;}PostMapping(/insert)public String insert(RequestBody UserInfoRequest request){UserRecord userRecord dslContext.newRecord(USER);userRecord.setUsername(request.getUserName());userRecord.setPassword(request.getPassWord());int insert userRecord.insert();return success: insert;}PostMapping(/update)public String update(RequestBody UserInfoRequest request){UserRecord userRecord dslContext.newRecord(USER);userRecord.setId(request.getId());userRecord.setUsername(request.getUserName());userRecord.setPassword(request.getPassWord());userRecord.update();return success;}DeleteMapping(/delete)public String delete(RequestBody UserInfoRequest request){UserRecord userRecord dslContext.newRecord(USER);userRecord.setId(request.getId());userRecord.delete();return success;}} package com.mxl.info;public class UserInfo {private String userName;private String passWord;public String getUserName() {return userName;}public void setUserName(String userName) {this.userName userName;}public String getPassWord() {return passWord;}public void setPassWord(String passWord) {this.passWord passWord;} } package com.mxl.info;public class UserInfoRequest {private String userName;private String passWord;public String getUserName() {return userName;}public void setUserName(String userName) {this.userName userName;}public String getPassWord() {return passWord;}public void setPassWord(String passWord) {this.passWord passWord;} }JooqAutoConfiguration 源码解析 以下是jOOQ的自动配置源码从 spring-boot-autoconfigure 内拷贝而来可以看出此配置会在数据源配置和事务配置之后执行 对于我们经常用到的就是 Bean dslContext 和 jooqConfiguration 大部分自动配置的Bean都会使用 ConditionalOnMissingBean 注解 此注解标识在没有某个Bean的情况下才会执行该注解所标注的配置 org.springframework.boot.autoconfigure.jooq.JooqAutoConfiguration /**link EnableAutoConfiguration Auto-configuration} for JOOQ.** author Andreas Ahlenstorf* author Michael Simons* author Dmytro Nosan* since 1.3.0*/* { Configuration(proxyBeanMethods false) ConditionalOnClass(DSLContext.class) ConditionalOnBean(DataSource.class) AutoConfigureAfter({ DataSourceAutoConfiguration.class, TransactionAutoConfiguration.class }) public class JooqAutoConfiguration {BeanConditionalOnMissingBean(ConnectionProvider.class)public DataSourceConnectionProvider dataSourceConnectionProvider(DataSource dataSource) {return new DataSourceConnectionProvider(new TransactionAwareDataSourceProxy(dataSource));}BeanConditionalOnBean(PlatformTransactionManager.class)public SpringTransactionProvider transactionProvider(PlatformTransactionManager txManager) {return new SpringTransactionProvider(txManager);}BeanOrder(0)public DefaultExecuteListenerProvider jooqExceptionTranslatorExecuteListenerProvider() {return new DefaultExecuteListenerProvider(new JooqExceptionTranslator());}Configuration(proxyBeanMethods false)ConditionalOnMissingBean(DSLContext.class)EnableConfigurationProperties(JooqProperties.class)public static class DslContextConfiguration {Beanpublic DefaultDSLContext dslContext(org.jooq.Configuration configuration) {return new DefaultDSLContext(configuration);}BeanConditionalOnMissingBean(org.jooq.Configuration.class)public DefaultConfiguration jooqConfiguration(JooqProperties properties, ConnectionProvider connectionProvider,DataSource dataSource, ObjectProviderTransactionProvider transactionProvider,ObjectProviderRecordMapperProvider recordMapperProvider,ObjectProviderRecordUnmapperProvider recordUnmapperProvider, ObjectProviderSettings settings,ObjectProviderRecordListenerProvider recordListenerProviders,ObjectProviderExecuteListenerProvider executeListenerProviders,ObjectProviderVisitListenerProvider visitListenerProviders,ObjectProviderTransactionListenerProvider transactionListenerProviders,ObjectProviderExecutorProvider executorProvider) {DefaultConfiguration configuration new DefaultConfiguration();configuration.set(properties.determineSqlDialect(dataSource));configuration.set(connectionProvider);transactionProvider.ifAvailable(configuration::set);recordMapperProvider.ifAvailable(configuration::set);recordUnmapperProvider.ifAvailable(configuration::set);settings.ifAvailable(configuration::set);executorProvider.ifAvailable(configuration::set);configuration.set(recordListenerProviders.orderedStream().toArray(RecordListenerProvider[]::new));configuration.set(executeListenerProviders.orderedStream().toArray(ExecuteListenerProvider[]::new));configuration.set(visitListenerProviders.orderedStream().toArray(VisitListenerProvider[]::new));configuration.setTransactionListenerProvider(transactionListenerProviders.orderedStream().toArray(TransactionListenerProvider[]::new));return configuration;}} } 如果我们需要使用多数据源可以在启动入口中的 SpringBootApplication 中使用  exclude 选项不让 Spring Boot 自动配置数据源和 jOOQ 的配置。 SpringBootApplication(exclude {DataSourceAutoConfiguration.class, JooqAutoConfiguration.class, TransactionAutoConfiguration.class})
http://www.zqtcl.cn/news/354175/

相关文章:

  • 网站中的表格seo宣传网站
  • 河南锦路路桥建设有限公司网站网站建设会考什么
  • 高校网站建设研究意义餐饮vi设计案例
  • 触屏手机网站网站建设功能模块价格
  • 类似携程网的网站wordpress文章摘要调用
  • 好网站建设公司开发方案联盟营销的网络营销方式
  • logo免费生成网站洛阳网络建站公司
  • 建设工程部网站百度指数功能
  • 个人网站 商业时事新闻2022最新10月
  • 不会代码 怎么做网站网站视频管理系统
  • 网站空间 流量网上卡片制作
  • 网站排名seo软件机关网站源码
  • 网站手机端页面怎么做手机之家
  • 成都电子商务网站大庆城市投资建设网站
  • 电子商务网站费用wordpress 怎么手动更新
  • 中国空间站设计在轨飞行多少年南昌网站建设风格
  • 用php写的网站有哪些暖暖 视频 在线 观看 高清
  • 云空间网站怎么做海南旅游网网页制作
  • 常宁网站免费的ai作图软件
  • 网站建设讲师招聘如何做电商产品推广
  • 让百度收录网站网站开发流程进度表
  • 有几个网站能在百度做推广产品开发管理系统
  • 一个网站项目的价格表dz论坛seo
  • 企业做网站要多少钱哪个网站做动图
  • 知名企业网站例子4s店网站模板
  • 网站建设的信息安全防范技术初级买题做哪个网站好
  • 品牌营销网站建设东莞智通人才招聘网
  • 莒县建设局网站好的网站具备什么条件
  • 威海网站建设怎么样网上怎么推销自己的产品
  • 网站做SEO优化网站建设背景图片大小的修改