MyBatis

springboot整合mybatis增删改查(四):完善增删改查及整合swgger2

霸气de小男生 提交于 2020-04-17 20:37:37
接下来就是完成增删改查的功能了,首先在config包下配置Druid数据连接池,在配置之前先把相关配置在application.preperties中完善 application.preperties # 下面为连接池的补充设置,应用到上面所有数据源中 # 初始化大小,最小,最大 spring.datasource.initialSize=5 spring.datasource.minIdle=5 spring.datasource.maxActive=30 # 配置获取连接等待超时的时间 spring.datasource.maxWait=60000 # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 spring.datasource.timeBetweenEvictionRunsMillis=60000 # 配置一个连接在池中最小生存的时间,单位是毫秒 spring.datasource.minEvictableIdleTimeMillis=300000 spring.datasource.validationQuery=SELECT 1 FROM DUAL spring.datasource.testWhileIdle=true spring.datasource.testOnBorrow=false spring.datasource

系统框架的构建

为君一笑 提交于 2020-04-17 20:34:19
系统框架就相当于一个平台,利用平台来实现各种简单的功能和调用。 构建一个简单的框架步骤如下: (1)首先实现一个模版回调做为一个业务入口,实现统一参数校验、业务执行、统一异常处理、统一监控埋点日志打印处理 (2)业务执行步骤:可以使用自己编写简单的工作流引擎和并发调用框架,做为基础公共模块供业务层使用。 (3)针对DB的操作,使用统一的mybatis自动代码生成框架生成代码。 针对db的统一使用拦截器针对dal层的接口进行拦截,打印摘要日志,做为监控的数据源 (4)如果有外围调用,也需要使用aop的方式针对接口调用进行拦截,打印日志 (5)接口的限流统一配置 (6)业务监控以及核对脚本的编写 (7)内部业务场景最好做好业务隔离,面向接口编程,做好抽象,但是不要过度设计,否则谁也看不懂 (8)分布式缓存的使用 (9)并发控制 使用分布式锁解决 (10)如果是B端的系统,如何保证系统的调用一定成功,可以使用落任务的方式+定时任务捞取数据进行重拾 (11)系统的之间的耦合可以考虑使用消息进行系统之间进行解藕。 (12)在进行框架构建时需要仔细的考虑区块与区块之间的关系,代码之间的调用和实现。 来源: oschina 链接: https://my.oschina.net/u/4280983/blog/3270086

mybatisplus 一对多配置

旧街凉风 提交于 2020-04-17 20:23:07
1:数据库表 -- ---------------------------- -- Table structure for t_user -- ---------------------------- DROP TABLE IF EXISTS `t_user`; CREATE TABLE `t_user` ( `t_user_id` bigint ( 255 ) NOT NULL AUTO_INCREMENT, `t_user_name` varchar ( 255 ) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL , `t_user_age` smallint ( 255 ) NULL DEFAULT NULL , PRIMARY KEY (`t_user_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for t_user_address -- ---------------------------- DROP

Mybatis动态SQL简单了解 Mybatis简介(四)

a 夏天 提交于 2020-04-17 20:07:36
动态SQL概况 MyBatis 的强大特性之一便是它的动态 SQL 在Java开发中经常遇到条件判断,比如: if(x>0){ //执行一些逻辑........ } Mybatis应用中,SQL映射通常位于XML文件内,在执行前需要将XML中的映射转换为最终要执行的SQL 在转换中是否可以根据输入动态的处理SQL?这就是动态SQL,比如 < select id ="findActiveBlogWithTitleLike" resultType ="Blog" > SELECT * FROM BLOG WHERE state = ‘ACTIVE’ < if test ="title != null" > AND title like #{title} </ if > </ select > 上面的 < if test= "title != null" > 就是动态SQL处理,将会根据实际传递的title的值,动态的决定SQL的内容,是否包含最后面的AND Mybatis的动态SQL元素不多,但是简单高效,Mybatis的动态SQL元素类似JSTL 类型主要有三种: 条件判断 内容处理 循环处理 对于每种不同的类型又有各自的格式和属性 条件处理 if是最基本的一种形式,语意为:如果xxx就xxx 通过最基本的if可以构造很复杂的条件测试语句,相当于 if (){ }

从百度三轮面试拿到offer后又到阿里六轮面试,最后留在了阿里!

巧了我就是萌 提交于 2020-04-17 19:08:19
本人开发五年,从一个中游的公司跳槽的阿里P6,刚刚开始是进行了百度三面,后来拿到百度offer,又到阿里进行六轮面试,其实这六轮的面试下来整体感觉还是不错的,在这之前我其实面试的其他公司的时候很烂。如果要去百度或者阿里面试的话,都需要提前做好充足的准备吧,不然你会败的很惨。 下面整理下我从百度三轮面试回来的题目,供你参考! 一,百度一面 1、给一个函数,返回 0 和 1,概率为 p 和 1-p,请你实现一个函数,使得返回 01 概率一样。 2、10 亿个 url,每个 url 大小小于 56B,要求去重,内存 4G。 3、把一个 bst 转化成一个双向链表。 4、http 和 https 区别,https 在请求时额外的过程,https 是如何保证数据安全的; 5、IP 地址子网划分; 6、POST 和 GET 区别; 7、DNS 解析过程; 8、硬链接和软连接区别; 9、kill 用法,某个进程杀不掉的原因(进入内核态,忽略 kill 信号); 10、linux 用过的命令; 11、系统管理命令(如查看内存使用、网络情况) 12、管道的使用; 13、grep 的使用,一定要掌握,每次都会问在文件中查找; 14、shell 脚本; 15、find 命令; 16、awk 使用 二,百度二面 对照着简历问了些东西。 1、Linux 下的一些指令,$(进程 id),$?

Invalid property &apos;driver&apos; of bean class [org.apache.commons.dbcp.BasicDataSource]

送分小仙女□ 提交于 2020-04-17 14:04:10
【推荐阅读】微服务还能火多久?>>> Spring整合MyBatis! main方法测试,出现异常: 一堆错,很懵逼! 别慌,慢慢分析,也许错误很简单; 先分析一下applicationContext.xml文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="config" class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer"> <property name="locations"> <array> <value>classpath:db.properties</value> </array> </property> </bean> <bean id=

Spring Boot 集成 MyBatis和 SQL Server实践

半腔热情 提交于 2020-04-17 03:19:34
【推荐阅读】微服务还能火多久?>>> 文章共 509字,阅读大约需要 2分钟 ! 概 述 Spring Boot工程集成 MyBatis来实现 MySQL访问的示例我们见过很多,而最近用到了微软的 SQL Server数据库,于是本文则给出一个完整的 Spring Boot + MyBatis + SQL Server 的工程示例。 注: 本文首发于 My Personal Blog:CodeSheep·程序羊 ,欢迎光临 小站 工程搭建 新建 Spring Boot工程 pom.xml 中添加 MyBatis和 SQL Server相关的依赖 <!--for mybatis--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.2</version> </dependency> <!--for SqlServer--> <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>sqljdbc4</artifactId> <version>4.0</version> </dependency> 配置

Java面试、跳槽必刷200+真面试题,让你披荆斩棘走进大厂

风格不统一 提交于 2020-04-16 19:27:54
【推荐阅读】微服务还能火多久?>>> 这份面试清单是做了 TeamLeader 之后开始收集的,一方面是给公司招聘用,另一方面是想用它来挖掘在 Java 技术栈中,还有那些知识点是不知道的,想找到这些技术盲点,然后修复它,以此来提高自己的技术水平。 虽然从 2009 年就开始参加编程工作了,但依旧觉得自己现在要学的东西很多,并且学习这些知识,很有成就感和满足感,那所以何乐而不为呢? 说回面试的事,这份面试清单本来是只有内部使用的,可到后来有很多朋友在微信上联系到,帮他们找一些面试方面的资料,而且这些关系也不太好拒绝: 一呢,是因为这些找我的人要么是朋友的弟弟妹妹,要么是表弟表妹们; 二呢,也不想马马虎虎的对付,俗话说的好“受人之事忠人之命”,不能辜负这份信任。 ** 但最后就有了这么一个想法,要不要把整理的这 200 多道 Java 面试题分享出去,去帮助更多的人。 说实话刚开始的时候是比较犹豫的,首先这么做会不会有点帮人“作弊”的嫌疑,最后我终于想通了,觉得这未必是一件坏事。 第一:有更多的人因此而学到了更多的知识,这不算是一件坏事,恰好相反。 第二:这只是一种经验的高度提炼,让那些有技术能力的人,学会如何表达自己所掌握的知识,这也是一件好事。 第三:如果只是死记硬背这些面试题,如果面试官能再深入问纠一些细节,也可识破之中的“玄机”。 第四:学习有很多种方式

了解Spring

99封情书 提交于 2020-04-16 19:09:29
【推荐阅读】微服务还能火多久?>>> Spring- 第一章 初始Spring Spring是应用了很多优秀的设计模式,对于项目的实现,提供了优秀的解决方法;Spring是一个轻量级(低侵入)MVC和逻辑代码框架 . 类与类之间的解耦合 IOC MVC 框架侵入 IOC(Inverse Of Control) 控制反转 大管家 将传统创建对象的控制权 new ,交由spring容器中(配置文件)中来声明和实现 MVC框架中的,对象管理的大管家,实现类与类之间的解耦合 IOC的好处: 解耦合 IOC实现原理:工厂设计模式---反射(无参构造方法) 配置文件+工厂类 Spring-IOC实现: 1. 创建一个java项目 2. 导包 3. 复原一个MyBatis框架 下的Product例子 4. 复制一个Spring的主配置文件 bean 标签来表示一个对象; id 是一个对象的唯一标识; class 是类的全路径; 5. 由Spring来创建对象 5.1 加载Spring主配置文件 5.2 根据Bean ID,由工厂创建对象 5.3 正常调用该对象的方法 DI(Dependence I njection)依赖注入 给属性赋值 为对象的属性赋值 1. 设值注入 底层实现set方法赋值 ref 引用其它对象,对象的嵌套 2. 构造注入 底层实现构造方法注入

2020年最全java面试真题解析(980道),你没见过的面试题都在这

让人想犯罪 __ 提交于 2020-04-16 12:59:47
【推荐阅读】微服务还能火多久?>>> 今年跳槽想跳去哪个大厂呢,这是个问题。说实话,去年我面试也被虐了,为了能找到一份心怡的工作,特地的从朋友那里讨来一份面试圣经(阿里某大牛), 980道面试真题和解析,一共485页PDF 。 囊括Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技术栈 。 由于面试真题 涉及全面,解析详细 ,所有的解析就不在文中给大家全部列出,整个 980道面试真题 都整理在一个pdf文档里面, 需要这一份pdf的朋友,末尾可领取: 每个专题总结将近50道真题(含解析),一共包含java、MyBatis、ZooKeeper、Dubbo等二十个多个专题。485页PDF。 20多个专题: 正文: MyBatis 面试题(27道): 什么是 Mybatis? 1、Mybatis 是一个半 ORM(对象关系映射)框架,它内部封装了 JDBC,开发时只需要关注 SQL 语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement 等繁杂的过程。程序员直接编写原生态 sql,可以严格控制 sql 执行性能,灵活度高。 2、MyBatis 可以使用 XML