MyBatis

Mybatis 第二节 事务管理及手动提交事务

这一生的挚爱 提交于 2020-04-20 06:03:08
事务管理 开启事务 手动提交事务 如果方法上没有@Transactional注解,则表示不启用事务。 手动管理事务。 package com.yxl.service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.datasource.DataSourceTransactionManager; import org.springframework.stereotype.Service; import org.springframework.transaction.TransactionDefinition; import org.springframework.transaction.TransactionStatus; import org.springframework.transaction.annotation.Transactional; import com.yxl.dao.UserDao; import com.yxl.entity.User; import java.util.List; @Service // 声明成一个spring bean public class UserService { @Autowired

Mybatis 第二节 事务管理及手动提交事务

こ雲淡風輕ζ 提交于 2020-04-20 06:01:59
事务管理 开启事务 手动提交事务 如果方法上没有@Transactional注解,则表示不启用事务。 手动管理事务。 package com.yxl.service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.datasource.DataSourceTransactionManager; import org.springframework.stereotype.Service; import org.springframework.transaction.TransactionDefinition; import org.springframework.transaction.TransactionStatus; import org.springframework.transaction.annotation.Transactional; import com.yxl.dao.UserDao; import com.yxl.entity.User; import java.util.List; @Service // 声明成一个spring bean public class UserService { @Autowired

Mybatis 第一节 SpringBoot整合Mybatis 注解方式

吃可爱长大的小学妹 提交于 2020-04-20 03:37:06
表 CREATE TABLE IF NOT EXISTS user ( `id` INT(10) NOT NULL AUTO_INCREMENT, `name` VARCHAR(50) NULL DEFAULT NULL , `age` INT(2) NOT NULL , PRIMARY KEY (id) ) pom文件 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.2.RELEASE</version> </parent> <groupId>com.yxl</groupId> <artifactId>spring-boot

SSM框架整合(2020基础版)

╄→гoц情女王★ 提交于 2020-04-20 01:41:14
文章目录 一、SSM框架简介 1.1、基本概念 1.2、环境准备 1.3、SSM整合思路 1.4、基本环境搭建 二、搭建三层架构与测试 2.1、搭建Spring框架与测试 三、搭建与整合SpringMVC 3.1、搭建SpringMVC 3.2、Spring整合SpringMVC框架 三、搭建与整合MyBatis 3.1、搭建MyBatis环境 3.2、Spring整合MyBatis 一、SSM框架简介 1.1、基本概念 三层架构:   开发架构一般都是基于两种形式:一种是C/S架构,也就是客户端/服务器,另一种是B/S架构,也就是浏览器服务器。   在JavaEE开发中,几乎全都是基于B/S架构的开发。那么在B/S架构中,系统标准的三层架构包括:表现层、业务层、持久层。其中每一层都分工明确:    表现层 :负责接收客户端请求,向客户端响应结果,负责与用户进行交互。表现层的设计一般都使用MVC模型    业务层 :主要是针对不同请求业务逻辑的处理,也可理解为对数据业务逻辑处理。    持久层 :主要是对非原始数据(数据库或者文本文件等存放数据的形式)的操作层,也就是说是对数据库,而不是对数据的操作,具体为业务逻辑层或用户界面层提供数据服务。 Spring: **(业务层)**   Spring是一个轻量级的开源框架, 以IOC(反转控制)和AOP(面向切面编程)两个核心 。

ASP.NET Core MVC入门——3

♀尐吖头ヾ 提交于 2020-04-19 21:19:42
https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/first-mvc-app/adding-model?view=aspnetcore-3.1&tabs=visual-studio 这一章节中,我们开始认识一下MVC中的M,也就是Model。 Entity Framework Core是微软提供给开发者的一个ORM框架,类似java中的MyBatis和Hibernate。将Plain Old CLR Objects(POCO)类可以直接转换为数据库中的增删改查的操作代码,减少重复开发代码量。 POCO 这种类是只有属性没有方法的类,纯粹表示数据,可以用于和数据库之间的映射。 EF Core库只要求我们写POCO类,然后该库就可以根据这些类自动在数据库中建立对应的表,以及相关的增删改查。 新建model Movie.cs using System; using System.ComponentModel.DataAnnotations; namespace MvcMovie.Models { public class Movie { public int Id { get; set; } public string Title { get; set; } [DataType(DataType.Date)] public

Java程序员勇面阿里、京东等四厂,分享面试必问,你能掌握多少?

为君一笑 提交于 2020-04-19 19:08:47
面试,难还是不难?最终结果好还是不好?取决于面试者的底蕴(气场+技能)、心态和认知以及沟通技巧。而一些主流的大型互联网公司面试(阿里巴巴、京东、美团、滴滴)更是需要你在面试时展现出自己的能力,从而获得面试官的欣赏和肯定。 而程序员在应聘时更是需要经历层层面试。俗话说,磨刀不误砍柴工,做好面试前的准备工作可以帮助大家更好的应对面试官的问题以及面试中的突发情况。那么我们一起来看看大型互联网公司的面试题吧! 阿里巴巴面试 1、开发中Java用了比较多的数据结构有哪些? 2谈谈你对HashMap的理解,底层原理的基本实现,HashMap怎么解决碰撞问题的? 这些数据结构中是线程安全的吗?假如你回答HashMap是线程安全的,接着问你有没有线程安全的map,接下来问了conurren包。 3、对JVM熟不熟悉?简单说说类加载过程,里面执行的哪些操作?问了GC和内存管理,平时在tomect里面有没有进行过相关的配置 4、然后问了http协议,get和post的基本区别,接着tcp/ip协议,三次握手,窗口滑动机制。 5、开发中用了哪些数据库?回答mysql,储存引擎有哪些?然后问了我悲观锁和乐观锁问题使用场景、分布式集群实现的原理。 6、然后问了我springmvc和mybatis的工作原理,有没有看过底层源码? 京东金融面试 1、Dubbo超时重试;Dubbo超时时间设置 2

SpringBoot中mybatis配置自动转换驼峰标识没有生效

ぐ巨炮叔叔 提交于 2020-04-19 10:19:34
mybatis提供了一个配置: # 开启驼峰命名转换 mybatis .configuration.map-underscore-to-camel-case =true 使用该配置可以让mybatis自动将SQL中查出来的带下划线的字段,转换为驼峰标志,再去匹配类中的属性。 即: @Select("select phone_num,card_num from xxx where id=#{id}" ) public User getUserInfo(String id); 查出来的结果,会被自动转换成 phonenum 和 cardnum, 再和结果类(这里就是 User )中的属性进行匹配。 更多和自动转换驼峰标志相关的详细源码分析可以参考: 传送门 ————————————————————分割线————————————————— 下面我们说说我这次碰到的奇怪问题: 在我的项目中,明明在application.properties中将这个属性设为了true,结果运行到上文截图57行代码时始终为false,导致后边无法找到匹配的属性。 经过一番DEBUG分析,发现项目为了做多数据源,将生成 org.apache.ibatis.session.SqlSessionFactory 的配置抽出到使用 @Configuration 修饰的配置类中。 application

MyBatis 注解开发+逆向(Generator)

我只是一个虾纸丫 提交于 2020-04-19 05:42:29
注解开发 最初设计时,MyBatis 是一个 XML 驱动的框架。配置信息是基于 XML 的,而且映射语句也是定义在 XML 中的。随着技术的更新发展,对于开发效率要求也原来越高,特别是一些小型项目;越来越多的框架开始支持注解, 到MyBatis3时,MyBatis对注解有了完善的支持,利用注解可以在一些情况下提高开发效率 <span style="color:gray">但不幸的是,Java 注解的的表达力和灵活性十分有限。尽管很多时间都花在调查、设计和试验上, 最强大的 MyBatis 映射并不能用注解来构建</span> 1. select 接口方法声明: import com.yyh.pojo.User; import org.apache.ibatis.annotations.Select; public interface UserMapper2 { @Select("select * from kuser where id = #{id}") public User selectUserByID(int id); } 测试方法: @Test public void selectTest(){ SqlSession session = factory.openSession(); UserMapper2 mapper = session.getMapper

2018开源中国最受欢迎的中国软件MyBatis-Plus

给你一囗甜甜゛ 提交于 2020-04-19 05:41:53
2018开源中国最受欢迎的中国软件MyBatis-Plus 官方网址: https://mp.baomidou.com 中国软件,中文文档 什么是MyBatis-Plus? 进入官方第一句话:为简化开发而生 ; 只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑。 只需简单配置,即可快速进行 CRUD 操作,从而节省大量时间。 丰富功能:热加载、代码生成、分页、性能分析等功能一应俱全。 我愿景是成为 MyBatis 最好的搭档,就像 魂斗罗 中的 1P、2P,基友搭配,效率翻倍。 特性 无侵入 :只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 损耗小 :启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作 强大的 CRUD 操作 :内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求 支持 Lambda 形式调用 :通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错 支持多种数据库 :支持 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer2005、SQLServer 等多种数据库 支持主键自动生成 :支持多达 4 种主键策略(内含分布式唯一 ID 生成器 - Sequence)

自荐RedisViewer一个有情怀的跨平台Redis可视化客户端工具

江枫思渺然 提交于 2020-04-19 04:36:09
自荐一个有情怀的跨平台Redis可视化客户端工具——RedisViewer 转载自 最美分享Coder 2019-09-17 06:31:00 介绍 在以往的文章中曾经介绍过几款Redis的可视化工具,在笔者的印象中,Redis至今没有一款非常专业的可视化管理客户端,就算之前介绍过的几款也是差强人意,有些时候满足不了我们的需求,而今天本文要介绍的是另一款值得推荐的Redis可视化客户端,以下大多数通过截图的方式来展示这款软件!这款产品也是跨平台的,目前已经支持Windows和MacOS,理论支持Linux(尚未经过测试),方便不同平台开发者们使用!本软件出自@可乐onefineday之手! 相关技术栈 UI: electron、vue、elenentui 后端: springboot 、webflux 、mybatis 、mapper PS: 现阶段后端JVM使用openj9有效控制内存占用 后期规划会将使用Golang重构,来减少内存消耗和安装包大小 相关特性 1、列表 针对大数据量做了优化,前端分片加载,百万数据量无压力渲染, 对比其他客户端软件来说要好用很多 2、全功能控制台 支持官方95%命令的控制台命令(get/set/ttl/dbsize/info/cluster info/cluster nodes...与官方一致),再也不用ssh登录到服务器上面敲命令了 3