MyBatis

Does MyBatis follows JPA?

旧巷老猫 提交于 2020-05-15 08:58:38
问题 I've been working with myBatis for a few months as my first ORM. Now I'm trying to learn something else like Hibernate/JPA. At first it was hard to understand a difference between Hibernate and JPA. After few minutes of research I understood that JPA is just a specification and Hibernate is concrete implementation of JPA. In this video: link everything is nicely explained but author of the video is treating myBatis(iBatis) like JPA implementation. Is this a good approach? Does myBatis follows

How to properly use the @Param annotation of Mybatis

烂漫一生 提交于 2020-05-14 09:23:05
问题 I didn't use @Param annotation at first, this is my mapper.java public void changeUserAuth(Integer userId,int identity); , and this is my mapper.xml <update id="changeUserAuth"> update user <set> <if test="identity != 0">identity = #{identity}</if> </set> <where> <if test="userId != 0">userId = #{userId}</if> </where> </update> then it works correctly!I continue to write like this, as follows: //this's mapper.java public void updateUserStatus(Integer userId); <!--this is mapper.xml> <update

15、SpringCloud Alibaba第十五章,升级篇,分布式事务解决方案Seata

荒凉一梦 提交于 2020-05-09 20:33:04
SpringCloud Alibaba第十四章,升级篇,分布式事务解决方案Seata 一、分布式事务概述 1、什么是分布式事务 随着互联网的快速发展,软件系统由原来的单体应用转变为分布式应用。 分布式系统会把一个应用系统拆分为可独立部署的多个服务,因此需要服务与服务之间远程协作才能完成事务操作,这种分布式系统环境下由不同的服务之间通过网络远程协作完成事务称之为分布式事务。 例如用户注册送积分事务、创建订单减库存事务,银行转账事务等都是分布式事务。 1.1、 本地事务依赖数据库本身提供的事务特性来实现 : begin transaction; //1.本地数据库操作:张三减少金额 //2.本地数据库操作:李四增加金额 commit transation; 1.2、 但是在分布式环境下,会变成下边这样: begin transaction; //1.本地数据库操作:张三减少金额 //2.远程调用:让李四增加金额 commit transation; 可以设想,当远程调用让李四增加金额成功了,由于网络问题远程调用并没有返回,此时本地事务提交失败就回滚了张三减少金额的操作,此时张三和李四的数据就不一致了。 因此在分布式架构的基础上,传统数据库事务就无法使用了,张三和李四的账户不在一个数据库中甚至不在一个应用系统里,实现转账事务需要通过远程调用,由于网络问题就会导致分布式事务问题。 2

java.sql.SQLException: Access denied for user &apos;Administrator&apos;@&apos;localhost&apos;

拟墨画扇 提交于 2020-05-09 16:17:04
我在整合mybatis和spring的时候,测试数据库连接时报了标题所示错误,我的数据库连接配置如下: driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/seckill?useUnicode=true &characterEncoding =utf8 username=root password=123 找了很久都不知道为什么错了,最后把username改成user就好了。应该是username这个变量和系统的某个变量冲突了。 转 : https://blog.csdn.net/czr11616/article/details/84991424 来源: oschina 链接: https://my.oschina.net/u/4304002/blog/4272107

简单介绍几种Java后台开发常用框架组合

好久不见. 提交于 2020-05-09 12:13:32
01 前言 Java框架一直以来都是面试必备的知识点,而掌握Java框架,不管在成熟的大公司,快速发展的公司,还是创业阶段的公司,都能对当前正在开发中的系统有整体的认知,从而更好的熟悉和学习技术,这篇文章胖达就打算给大家介绍几款现阶段流行的框架组合,不管是在传统企业开发还是在互联网开发领域,这几种框架应该都是比较常用的。 02 三层架构 说到框架首先需要明确的是,在Web开发领域一般会将架构分为三个部分:表示层、持久层、业务层,之所以将整体架构分为三个层面,主要目的是让整个系统更具有条理性,通过分配任务的方式进行系统的解耦,让每一层只关心自己内部的事情,只知道下层的存在,不知道上层的存在。达到局部改变而不影响全局的目的,就比如餐馆中有服务员、厨师、收银员一样,各司其职,让系统有条不紊的运行下去。三层架构如下图所示(图中的数据访问层就是文中的持久层): 下面就简单介绍一下三层架构: 1.表示层 表示层其实就是用户能够看到的界面显示层,但是它的职责并不仅仅是显示界面那么简单,而是需要完成三件事情: 从界面中取得数据跟后台服务器交互 跟后台交互后进行数据绑定 将绑定的数据呈现在页面中 一般来说,这一层的设计会采用MVC的模式,M称为模型也就是实体类,用于数据的封装和数据的传输;V为视图也就是页面组件,用于数据的展示;C为控制也就是流程事件,用于流程的控制。 2.业务层

从 0 使用 SpringBoot MyBatis MySQL Redis Elasticsearch打造企业级 RESTful API 项目实战

耗尽温柔 提交于 2020-05-09 10:54:05
大家好!这是一门付费视频课程。新课优惠价 699 元,折合每小时 9 元左右,需要朋友的联系爱学啊客服 QQ:3469271680;我们每课程是明码标价的,因为如果售价为现在的 2 倍,然后打 5 折,其实就是没打折,我们不玩这些套路,为什么人与人之间不能多一点真诚呢? 1.课程简介 这是一门使用Java语言,SpringBoot框架,MyBatis数据库框架,MySQL数据库,Redis数据库,Elasticsearch搜索引擎等技术,从0开发一个RESTful API应用,接近企业级的项目(我的云音乐),课程包含了基础内容,高级内容,项目封装,项目重构等知识,99%代码为手写;因为这是项目课程;所以不会深入到源码讲解某个知识点,以及原理,但会粗略的讲解下基础原理;主要是讲解如何使用系统功能,流行的第三方框架,第三方服务,完成接近企业级项目,目的是让大家,学到真正的企业级项目开发技术。 更多详情可以点击:《 SpringBoot+MyBatis企业级RESTful API开发项目实战 》。同时我们每门课程都有邀请返现机制,详情请点击: 邀请好友课程免费学,还能赚钱! 。 2.适用人群 刚刚毕业的学生 想提高职场竞争力 想学从零开发SpringBoot项目 想提升SpringBoot项目开发技术 想学习SpringBoot项目架构技术 想学习企业级项目开发技术

springmvc mybatis redis mysql maven搭建基本开发框架 (二)

匆匆过客 提交于 2020-05-09 06:42:08
1:common下面的工作: a:在common下面的resources下面新建spring和mybatis文件夹,spring是给spring的配置文件使用,mybatis下面给mybatis配置文件使用,mybatis下面新建mapper文件夹。业务的mapper.xml都放在下面。 b:spring文件夹下面新建spring-db.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" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation=" http://www

Mybatis传入参数0 ,会成为空

江枫思渺然 提交于 2020-05-08 18:57:22
从页面传参数 is_send= 0 到mapper.xml 传入的这个参数类型如果不是字符串类型的话 在xml 经过if(test="is_send!=null and is_send !=''") 这样判断的话,那么这个0就会是空 if(test="is_send!=null ) 如果去掉and is_send !=''" 这个,那么就会识别成为0 <result column="is_sent" property="isSent" jdbcType="INTEGER" /> 以下正确,如果传0进来会识别成为0: <if test="data.isSent != null "> and is_sent=#{data.isSent,jdbcType=INTEGER} </if> 以下错误,如果传0,就不会进if条件: <if test="data.isSent != null and data.isSent!='' "> and is_sent=#{data.isSent,jdbcType=INTEGER} </if> 来源: oschina 链接: https://my.oschina.net/u/4255236/blog/4270627

1-5年工作经验的Java程序员,薪资普遍是在10-25K?

ⅰ亾dé卋堺 提交于 2020-05-08 17:44:10
由于疫情带来的连锁反应,今年的竞争相较往年会更加激烈。最近跟朋友在一起聚会的时候,提了一个问题,说Java程序员要实现月薪38K,技术水平需要达到什么程度?有人回答说这只能是大企业或者互联网企业工程师才能拿到。也许是的,小公司或者非互联网企业拿38K的不太可能是码农了,应该已经转管理。还有区域问题,这个是不在我的考虑范围内 因为除了北上广深杭,其他地方也很难达到。 首先:38K对应的层级分别是什么? 38K的月薪在BAT等一线大厂实在太普遍了,一般是高级工程师和资深工程师的职位,在阿里是p6~p7左右,在百度是t5左右,腾讯是t2-3左右,在京东是t3-1,美团是p6左右,其他的我不了解。 其次:该如何达到对应的层级? 38K的薪资虽然说不是很高,但是对于大部分的程序员来说,也可以当作一个“小目标”了,今天我就在这里就给大家分享一个能够让你进阶到这些层级的技术路线图,并且还有配套的学习资料,让你不仅能定下38K的小目标,还能有实现这个小目标的具体途径和方法。(技术脑图可以保存,配套技术资料在文末获取) 一:底层源码分析 学习Java技术体系,设计模式,流行的框架与组件 常见的设计模式,编码必备 Spring5,做应用必不可少的最新框架 MyBatis,玩数据库必不可少的组件 二:工程化与工具 工欲善其事必先利其器,不管是小白,还是资深开发,玩Java技术体系,选择好的工具

零基础自学java在线资源(新手福利)

旧巷老猫 提交于 2020-05-08 17:23:13
俗话说工欲善其事,必先利其器,今天给大家分享一个java自学网站: how2j ,这是一个有十年淘宝工作经验大牛的制作的网站,距离现在已经有三四年了,这个网站包含的知识非常的多,从基础的环境变量配置一直到完整项目的开发部署,以及面试教程,还有很多工具可提供直接下载使用,避免了初学者配置个工具就要半天时间,大大的减少了不必要的麻烦,还设计了很多有趣的游戏例子,提高了学习兴趣,在兴趣中快乐的学习,下面就给大家展示一下: https://how2j.cn 一:代码对比: 很多时候因为一个符号,一个字母写错了,导致程序不能正常运行,调试半天很难发现,最后导致学习兴趣大大减少,很难坚持下去,恰巧这个网站提供了代码比较.可以复制你写的代码和站长的比较,系统一下子就给你提示哪里错了,很快就解决了. 二:模块化教学 java基础: helloworld → 面向对象 → 变量 → 操作符 → 控制流程 → 数组 → 类和对象 → 接口和继承 → 数字与字符串 → 日期 java中级: 异常处理 I/O → 集合框架 → 泛型 → Lambda → 多线程 → JDBC → 图形界面 → 网络编程 → 实战项目 java高级: 反射机制 → 注解 java应用: Log4j → junit → hutool → jsoup → lombok 前端: HTML → CSS → javaScript →