MyBatis

MyBatis databaseId实现多种数据类型实现

删除回忆录丶 提交于 2020-11-10 18:00:33
最近的项目,最开始是使用MySQL进行开发,最终部署到多地区服务器。然而前几天说,有个地区的数据库使用的是Oracle。于是我要寻找一种方案,能让MySQL语法和Oracle语法同时存在。最终发现了MyBatis的这个神奇功能。 首先,配一个数据库配置: import org.apache.ibatis.mapping.DatabaseIdProvider; import org.apache.ibatis.mapping.VendorDatabaseIdProvider; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import java.util.Properties; @Configuration public class DatabaseConfig { /** * 自动识别使用的数据库类型 * 在mapper.xml中databaseId的值就是跟这里对应, * 如果没有databaseId选择则说明该sql适用所有数据库 * */ @Bean public DatabaseIdProvider getDatabaseIdProvider(){ DatabaseIdProvider

来自蚂蚁金服内部JAVA面试宝典意外流出!【收藏了】

ぃ、小莉子 提交于 2020-11-10 11:54:56
目录 前言 MyBatis系列面试宝典 1.MyBatis是什么? 2.Mybatis优缺点: 3.MyBatis和Hibernate的适用场景? 4.MyBatis的功能架构是怎样的 5.Mybatis如何执行批量操作 JVM系列面试宝典 1.详解JVM内存模型 2.说说内存屏障 3.happen-before原则 4.怎么打破双亲委派模型? 5.强引用、软引用、弱引用、虚引用的区别? Zookeeper系列面试宝典 1.Zookeeper 的 java 客户端都有哪些? 2.说几个 zookeeper 常用的命令。 3.Zookeeper 的典型应用场景 4.负载均衡 5.集群支持动态添加机器吗? 6.Zookeeper 下 Server 工作状态 前言 来自蚂蚁金服内部面试宝典意外流出! 面试宝典内容(JVM+Mybatis+Zookeeper),附答案+解析 MyBatis系列面试宝典 1.MyBatis是什么? Mybatis 是一个半 ORM(对象关系映射)框架,它内部封装了 JDBC,开发时只需要关注 SQL 语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement 等繁杂的过程。程序员直接编写原生态 sql,可以严格控制 sql 执行性能,灵活度高。 MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO 映射成数据库中的记录

晋升必会的 70 道 「Spring 全家桶」高频面试题

旧街凉风 提交于 2020-11-10 07:36:53
对于那些想面试高级 Java 岗位的同学来说,除了算法属于比较「天方夜谭」的题目外 , 剩下针对实际工作的题目就属于真正的本事了,热门技术的细节和难点成为了面试时主要考察的内容。 这里说「天方夜谭」并不是说算法没用,不切实际,而是想说算法平时其实很少用到,甚至面试官都对自己出的算法题一知半解。 这里总结打磨了 70 道 Spring 相关面试题,有的很基础,有的很细节,大家可以评估一下自己掌握的情况。 Spring 重点要掌握 Spring Framework。 1. IoC 属于哪种设计模式? 2. 谈谈你对 Spring IoC 和 DI 的理解,它们有什么区别? 3. 简单谈谈 IoC 容器的原理。 4. bean 的 scope 有几种类型?请详细列举。 5. 说说 IoC 中的继承和 Java 继承的区别。 6. IoC 中 car 对象的配置如下,现在要添加 user 对象,并且将 car 注入到 user 中,正确的配置是? <bean id= "car" class = "com.southwind.entity.Car" > </ bean > 7. 请分别写出 IoC 静态工厂方法和实例工厂方法的配置。 8. IoC 自动装载有几种方式? 9. 介绍一下 Spring 框架中 bean 的生命周期。 10. IoC 容器自动完成装载,默认的方式是? Spring

编码风格:Mvc模式下SSM环境,代码分层管理

房东的猫 提交于 2020-11-10 00:15:42
本文源码: GitHub·点这里 || GitEE·点这里 一、分层策略 MVC模式与代码分层策略,MVC全名是ModelViewController即模型-视图-控制器,作为一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑,这是一种开发模式,但并不是实际开发中代码的分层模式,通常SSM框架的后端代码分层如下: controller控制层:定义服务端接口,入参出参,和一些入参校验; service业务服务层:组装业务逻辑,业务校验,构建控制层需要的参数模型; dao数据交互层:提供服务层需要的数据查询方法,处理数据交互条件相关的逻辑; mapper持久层:基于mybatis框架需要的原生支持,目前很常用的持久层组件; 二、控制层 1、Rest接口风格 基于资源访问和处理的逻辑,使用不同风格的注解。例如资源新增,更新,查询,删除。 /** * 新增 */ @PostMapping("/insert") public Integer insert (@RequestBody BaseInfo baseInfo){ return baseInfoService.insert(baseInfo); } /** * 更新 */ @PutMapping("/update/{id}")

Spring MVC+Mybatis+cms实现UC浏览器文章相关功能

不问归期 提交于 2020-11-09 16:57:05
最近公司在模拟UC浏览器做一个简单的cms系统,主要针对于企业内部的文章浏览需求,这边考虑用户大多用mobile浏览文章内容,故使用原生的ios和android进行开发,后面也会集成html5。 1. 使用前后端分离解决方案(服务化的方式) 2. 文章分为普通类型、视频类型、图文类型 3. 浏览详情 4. 相关文章 5. 文章浏览统计 6. 个性化频道 7. 文章评论 8. 用户登录、注册、第三方登录 9. 我的收藏 10. 文章分享到微信、qq 这边功能就不一一列了,直接上图: 到此结束,后期我会把技术解决方案和代码贴出来供大家学习!(企业架构源码可以加求球:叁五三陆二肆柒二伍玖) 来源: oschina 链接: https://my.oschina.net/u/4747287/blog/4710001

毕业设计之 --- 基于Spring Boot的在线音乐web系统

天大地大妈咪最大 提交于 2020-11-09 14:19:02
简介 本音乐网站的开发主要利用 VUE 框架开发前台和后台,后端接口用 Spring Boot + MyBatis 来实现,数据库使用的是 MySQL。 该项目也是我们做过的优秀毕业设计. 运行展示 系统功能 音乐播放 用户登录注册 用户信息编辑、头像修改 歌曲、歌单搜索 歌单打分 歌单、歌曲评论 歌单列表、歌手列表分页显示 歌词同步显示 音乐收藏、下载、拖动控制、音量控制 后台对用户、歌曲、歌手、歌单信息的管理 使用技术 后端 SpringBoot + MyBatis 前端 Vue + Vue-Router + Vuex + Axios + ElementUI 安装及运行 获取源码 联系学长获取 修改配置文件 1)创建数据库 将 music-website/music-server/sql 文件夹中的 tp_music.sql 文件导入数据库。 2)修改后端配置文件 去 music-website/music-server/src/main/resources 这个目录下的文件里修改自己的 spring.datasource.username 和 spring.datasource.password; 修改下图圈出来的的文件中 MyPicConfig 类下的 addResourceLocations方法中的路径,否则资源加载不了。(Mac 和 win 下路径有些差异,我的是

70 个常见 Spring 面试题,Java 晋升必会

孤街醉人 提交于 2020-11-09 02:11:42
作者:技术杂谈哈哈哈 https://blog.csdn.net/GitChat/article/details/96443995 Spring、Spring boot、Spring Cloud、Spring MVC、MongoDB、MyBatis、微服务实战,Spring 全家桶,资深 Java 晋升前的必会内容。 对于那些想面试高级 Java 岗位的同学来说,除了算法属于比较「天方夜谭」的题目外,剩下针对实际工作的题目就属于真正的本事了,热门技术的细节和难点成为了主要考察的内容。 这里说「天方夜谭」并不是说算法没用,不切实际,而是想说算法平时其实很少用到,甚至面试官都对自己出的算法题一知半解。 这里总结打磨了 70 道 Spring 相关面试题,有的很基础,有的很细节,大家可以评估一下自己掌握的情况。 Spring MVC 这部分重点在 常用模块 的使用以及 Spring MVC 的底层实现原理。 1. 简 单谈谈你对 MVC 的理解。 2. 什么是 Spring MVC ? 简单介绍下你对 Spring MVC 的理解? 3. Spring MVC 的优点有哪些? Spring MVC 4. Spring MVC 的核心组件有哪些? 5. Spring MVC 的实现流程是什么? Spring MVC 6. Spring MVC 怎么样设定重定向和转发的? 7. 如何解决

一个人竟然撸了一个网易云音乐云村

三世轮回 提交于 2020-11-09 01:29:42
大家好,我是 为前端娱乐圈操碎了心的小迷妹 ,每天推荐一个小工具/源码,装满你的收藏夹,每天分享一个小技巧,让你轻松节省开发效率,实现不加班不熬夜不掉头发,是我的目标。 作为一名 GitHub 资深用户,我每日都会花不少时间泡在 GitHub 社区上面,有时候甚至于连吃饭都会用手机刷两下,看看最近有什么值得关注的项目。 顺便找一些自己比较喜欢的项目源码,下载下来到自己的本地查看,并且学习到别人的精华所在,下次遇到的时候,很多功能都可以直接借鉴过来,尤其是在工作的过程之中,实现一个客户的需求,很快就能做得出来,也节省了很多一个个字母敲在键盘上的时间。 今天推荐的这个项目是「netease-cloud-music-community」,是一个参照网易云音乐云村做的小程序社区,后端技术栈为 Java,SpringBoot,MySQL,Redis,前端技术栈为 uni-app。 功能简介 微信登录,发文本动态,发图文动态,发视频动态,关注,转发,评论,点赞,收藏等等 项目运行截图 技术栈 后端:Java,SpringBoot,MyBatis,MySQL,Redis 前端:uni-app 开发环境 后端:IntelliJ IDEA 前端:HbuilderX,微信开发者工具,QQ小程序开发者工具 项目运行 后端 创建数据库,执行根目录中的live.sql

2020版中间件面试题总结(RabbitMQ+Kafka+ZooKeeper)

随声附和 提交于 2020-11-08 22:25:59
RabbitMQ 1. RabbitMQ的使用场景有哪些? 抢购活动,削峰填谷,防止系统崩塌。 延迟信息处理,比如10分钟之后给下单未付款的用户发送邮件提醒。解耦系统,对于新增的功能可以单独写模块扩展,比如用户确认评价之后,新增了给用户返积分的功能,这个时候不用在业务代码里添加新增积分的功能,只需要把新增积分的接口订阅确认评价的消息队列即可,后面再添加任何功能只需要订阅对应的消息队列即可。 2. RabbitMQ有哪些重要的角色? RabbitMQ中重要的角色有:生产者、消费者和代理: [图片上传失败...(image-40f1e0-1604821335945)] 生产者:消息的创建者,负责创建和推送数据到消息服务器; 消费者:消息的接收方,用于处理数据和确认消息; 代理:就是RabbitMQ本身,用于扮演“快递”的角色,本身不生产消息,只是扮演“快递”的角色。 3. RabbitMQ有哪些重要的组件? ConnectionFactory(连接管理器):应用程序与Rabbit之间建立连接的管理器,程序代码中使用。 Channel(信道):消息推送使用的通道。 Exchange(交换器):用于接受、分配消息。 Queue(队列):用于存储生产者的消息。 RoutingKey(路由键):用于把生成者的数据分配到交换器上。 BindingKey(绑定键):用于把交换器的消息绑定到队列上。