MyBatis

企业分布式微服务云架构技术分享 Spring Cloud + Spring Boot + Mybatis

两盒软妹~` 提交于 2021-01-02 07:06:47
1. 介绍 Commonservice-system是一个大型分布式、微服务、面向企业的JavaEE体系快速研发平台,基于模块化、服务化、原子化、热插拔的设计思想,使用成熟领先的无商业限制的主流开源技术构建。采用服务化的组件开发模式,可实现复杂的业务功能。提供驱动式开发模式,整合内置的代码生成器,将JavaEE开发效率提高5倍以上,减少50%的代码开发量,解决80%的重复工作,让开发者更关注业务逻辑。使用Maven进行项目的构建管理,采用Jenkins进行持续集成,主要定位于大型分布式企业系统或大型分布式互联网产品的架构。 2. 使用技术 SOA服务框架:SpringCloud 、SpringBoot、RestFul等 分布式缓存:Redis 模块化管理:Maven 数据库连接池:Alibaba Druid 核心框架:Spring framework、SpringBoot 持久层框架:MyBatis 安全框架:Apache Shiro 服务端验证:Hibernate Validator 任务调度:quartz 日志管理:SLF4J 1.7、Log4j 客户端验证:JQuery Validation 动态页签:easyuitab 前端框架:Bootstrap、Vue 3. 设计思想 分布式、微服务、云架构 JAVA语言开发、跨平台、高性能、高可用、安全、服务化、模块化、组件化

企业分布式微服务云架构技术分享 Spring Cloud+Spring Boot+Mybatis

北战南征 提交于 2021-01-01 03:07:09
1.介绍 Commonservice-system是一个大型分布式、微服务、面向企业的JavaEE体系快速研发平台,基于模块化、服务化、原子化、热插拔的设计思想,使用成熟领先的无商业限制的主流开源技术构建。采用服务化的组件开发模式,可实现复杂的业务功能。提供驱动式开发模式,整合内置的代码生成器,将JavaEE开发效率提高5倍以上,减少50%的代码开发量,解决80%的重复工作,让开发者更关注业务逻辑。使用Maven进行项目的构建管理,采用Jenkins进行持续集成,主要定位于大型分布式企业系统或大型分布式互联网产品的架构。 2.使用技术 SOA服务框架:SpringCloud 、SpringBoot、RestFul等 分布式缓存:Redis 模块化管理:Maven 数据库连接池:Alibaba Druid 核心框架:Spring framework、SpringBoot 持久层框架:MyBatis 安全框架:Apache Shiro 服务端验证:Hibernate Validator 任务调度:quartz 日志管理:SLF4J 1.7、Log4j 客户端验证:JQuery Validation 动态页签:easyuitab 前端框架:Bootstrap、Vue 3.设计思想 分布式、微服务、云架构 JAVA语言开发、跨平台、高性能、高可用、安全、服务化、模块化、组件化

如何用Mybatis分库分表

牧云@^-^@ 提交于 2020-12-31 11:36:58
分库 在分库的时候 有时候为了方便 一些表需要存放所有库的信息,称为全局库。如:用户表存放所有的用户。 此时分库的思路 数据库分为全局库和业务库,其中业务库又分为N多个库,全局库只放个别表方便开发。 这个时候 就需要一个全局DAO,此时我们的Mybatis就需要支持两个DAO 两个DAO(bizDao和globalDao)就需要有两个sqlSessionFactory,bizSqlSessionFactory和globalSqlSessionFactory和两个事物管理器transactionManager < bean id ="bizDao" class ="com.xxx.dao.BizDao" > < property name ="sqlSessionFactory" ref ="bizSqlSessionFactory" /> </ bean > < bean id ="globalDao" class ="com.xxx.dao.GlobalDao" > < property name ="sqlSessionFactory" ref ="globalSqlSessionFactory" /> </ bean > < bean id ="bizSqlSessionFactory" parent ="sqlSessionFactoryDefault" class =

通过注解的方式整合 MyBatis + Spring Boot

徘徊边缘 提交于 2020-12-31 10:12:48
目录 目录 1. 前言 2. 整合过程 2.1 新建 Spring Boot 项目 2.2 添加 pom 依赖 2.3 准备数据库 2.4 pojo 层 2.5 dao 层 2.7 controller 层 2.8 入口程序配置 2.9 网页测试 1. 前言 本篇博客主要利用 SpringBoot 通过注解的方式整合 Mybatis,所有涉及的代码已经上传 Github mybatis-annotation [1] 。下面是整个整合过程,接下来开始整合: 2. 整合过程 最终项目结构如下图所示: 2.1 新建 Spring Boot 项目 新建一个 Spring Boot 项目,添加 Web 组件,具体过程可以参照我的另一篇博客 创建 Spring Boot 项目的三种方式 [2] 。 2.2 添加 pom 依赖 由于要整合 MyBatis,所以我们需要在项目的配置文件 pom.xml 中添加 mysql 驱动和 SpringBoot MyBatis 整合包; <!-- springboot mybatis 整合包 --> < dependency > < groupId > org.mybatis.spring.boot </ groupId > < artifactId > mybatis-spring-boot-starter </ artifactId > <

mybatis XML中 遍历map写法

拈花ヽ惹草 提交于 2020-12-29 17:01:30
<select id="selectMapTest" parameterType="java.util.HashMap" resultMap="BaseResultMap"> <foreach collection="map1" index="key" item="ent" separator="union"> SELECT * FROM User where username = #{key} and userpass in <foreach collection="ent" item="id" separator="," open="(" close=")"> #{id} </foreach> </foreach> </select>  对应的mapper中是: //map测试 List<User> selectMapTest(@Param("map1") Map<String,List<Integer>> ma1); 注意:foreach标签中的index就是map的key值 来源: oschina 链接: https://my.oschina.net/u/4346998/blog/3841775

mybatis xml动态语句写法

元气小坏坏 提交于 2020-12-29 17:01:11
mapper.java: /** * @Description: 根据摄像机Id查询出入记录 * @Param: * name 姓名 * monitorId 布控ID * starttime 开始时间 * endtime 结束时间 * begin 页码 * pageSize 查询数量 * @return: * @throws Exception * @author: hw * @date: 2019/6/11 14:28 */ List<OutInRecords> queryOutInRecords(@Param("name") String name,@Param("monitorId") String monitorId, @Param("starttime") String starttime, @Param("endtime") String endtime, @Param("begin") Integer begin, @Param("pageSize") Integer pageSize); mapper.xml <select id="queryOutInRecords" resultMap="OutInRecords" parameterType="map"> select a_oir.similarity,a_oir.`status`,a_oir.

mybatis-xml写法汇总

断了今生、忘了曾经 提交于 2020-12-29 15:54:09
建表语句 CREATE TABLE `tuser` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `id_card` varchar(32) COLLATE utf8mb4_bin DEFAULT NULL, `name` varchar(32) COLLATE utf8mb4_bin DEFAULT NULL, `age` int(11) DEFAULT NULL, `ismale` tinyint(1) DEFAULT NULL, PRIMARY KEY (`id`), KEY `id_card` (`id_card`), KEY `idx_name` (`name`) ) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; 新增-insert获取id 注意点: 1、需要设置数据表主键为int或者bigint,且自增。 2、插入数据后在实体类中获取主键id userMapper.insert(tuser); id = tuser.getId(); <!--保存处方单--> <insert id="create" useGeneratedKeys="true" keyColumn="id" keyProperty="id"

springboot+mybatis+security ajax实现session保存User实体

ぃ、小莉子 提交于 2020-12-29 14:06:47
AuthorityTeacher import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.userdetails.UserDetails; import java.util.Collection; import java.util.List; /** * @ProjectName: teaching * @Package: cn.bdqn.entity * @Author: huat * @Date: 2020/12/28 12:43 * @Version: 1.0 * 教师实体类 */ public class AuthorityTeacher implements UserDetails { private int teacherId; private String username;//账号 private String password;//密码 private String teacherName;//真实名称 private List<AuthorityRole> authorityRoles; public int getTeacherId() { return teacherId; } public void

【程序源代码】Spring boot整合activiti工作流引擎实例

北战南征 提交于 2020-12-29 08:02:25
关键字: Spring boot整合activiti工作流引擎实例 在常用的ERP系统、OA系统的开发中,工作流引擎是一个必不可少的工具。 本项目旨在基于Spring boot这一平台,整合业界流行的工作流引擎Activiti,并建立了两个完整的工作流进行演示: 请假OA和采购流程。 其中包含的内容如下: 1.不采用activiti自带的用户、角色功能,因为过于简单,转而自行实现一个用户、角色、权限的三级结构,用户到角色,角色到权限均为多对多映射,持久层框架使用mybatis的collection和association标签嵌套实现; 2.使用默认的用户登录后(用户名xiaomi,密码1234),可看到已部署好的两个流程,请假OA和采购流程,其中,请假OA包含了用户任务、排他网关、起始结束事件,较为简单; 采购流程除此之外,还使用了异常结束事件、子流程和边界事件的使用; 3.两个流程均包含了待办任务签收、运行流程进度追踪、已运行完流程历史记录查看的功能,运行流程进度在流程图中以红色标注; 4.使用时,将流程数据和业务数据相分离,使用业务号(businessKey)建立关联流程数据和业务数据的桥梁,使其相互可以访问,业务数据的主键即为业务号; 5.本系统所有表单均使用普通表单,而不是activiti的动态表单和外置表单,这样做是为了分表存放业务数据和流程数据; 6

Spring框架

末鹿安然 提交于 2020-12-27 00:25:02
Spring框架自2002年诞生以来一直备受开发者青睐,它包括SpringMVC、SpringBoot、Spring Cloud、Spring Cloud Dataflow等解决方案。有人亲切的称之为:Spring 全家桶。 很多研发人员把spring看作心目中最好的java项目,没有之一。所以这是重点也是难点,工作中必须会,面试时肯定考。 那么,不妨花费10分钟,梳理Spring框架相关知识。 Spring知识点-汇总 spring系列包含非常多的项目,可以满足java开发中的方方面面。 先来看常用框架的知识点汇总,如图: 一、5个常用的spring框架 ▌1.spring framework 也就是我们经常说的spring框架,包括了ioc依赖注入,Context上下文、bean管理、springmvc等众多功能模块,其它spring项目比如spring boot也会依赖spring框架。 ▌2.spring boot 它的目标是简化Spring应用和服务的创建、开发与部署,简化了配置文件,使用嵌入式web服务器,含有诸多开箱即用的微服务功能,可以和spring cloud联合部署。 Spring Boot的核心思想是约定大于配置,应用只需要很少的配置即可,简化了应用开发模式。 ▌3.Spring Data 是一个数据访问及操作的工具集,封装了多种数据源的操作能力,包括