ibatis

springboot(三 使用mybatis +springboot 完成简单的增删改查)

一世执手 提交于 2020-05-02 17:55:52
先说一些注解: @EnableAutoConfiguration 可以帮助SpringBoot应用将所有符合条件的 @Configuration 配置都加载到当前SpringBoot创建并使用的IoC容器。 @ComponentScan 扫包 @Configuration 用于定义配置类,可替换xml配置文件 使用以上是三个注解 则可以实现 springboot 的启动类的功能,不过每次 写的太得 所以 可以使用@SpringBootApplication 代替三个注解,实现启动类功能 @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter. class ), @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter. class ) }) public @ interface

聊聊,阿里百度腾讯等一线互联网公司的JAVA开发招聘(跳槽必看)

走远了吗. 提交于 2020-04-30 19:40:59
金三银四的跳槽热潮即将过去,在这两个月的跳槽的旺季中,作为互联网行业的三大巨头,百度、阿里巴巴、腾讯对于互联网人才有很大的吸引力,他们的员工也是众多互联网同行觊觎的资深工程师、管理者人选。 下面我总结了进入这三家公司你所需掌握的技能: 阿里巴巴篇 扎实的计算机专业基础,包括算法和数据结构,操作系统,计算机网络,计算机体系结构,数据库等 具有扎实的Java编程基础,理解IO、多线程等基础框架 熟练使用Linux系统的常用命令及shell有一定了解 精通多线程编程,熟悉分布式,缓存,消息队列等机制;熟悉JVM,包括内存模型、类加载机制以及性能优化 精通spring mvc、orm框架(ibatis或hibernate)、模板引擎(velocity)、关系型数据库设计及SQL 具备良好的面向对象编程经验,深入理解OO、AOP思想,具有很强的分析设计能力,熟悉常用设计模式 有大型分布式、高并发、高负载、高可用性系统设计和稳定性经验 熟悉面向对象设计开发,熟悉各种常用设计模式,并有在具体的应用场景落地经验 熟悉Spring、iBatis,等开源框架及消息,存储等常用中间件。 有通读过开源框架源码 熟悉基于Oracle或者Mysql的设计和开发、Linux操作系统 熟悉SOA,有平台化实施经验者,有大数据量、高并发系统和大型网站构建经验 分布式系统应用架构设计与研发经验,精通Java EE

记一次IIS应用程序域崩溃的原因

半腔热情 提交于 2020-04-30 16:52:23
在日常工作中,每次新的功能上线前,我们会搭建一个测试环境提供给客户测试使用,确定无误后才会更新到正式环境上。这一次也不例外,在约定好时间地点,客户进行集中化测试的过程中,反应网站系统打不开,报500错误。打开测试服务器后发现应用程序池崩溃自动关闭了。所以习惯性的右键-重启,查日志。可是好景不长,这边问题还没找到,又崩溃了。没办法先稳住再说,对应用程序池进行如下设置: 这样可以防止应用程序池崩溃的过于频繁。可是治标不治本,再次崩溃是迟早的问题。 通过服务器的日志查看器,只能看到下面的信息 虽然不能看到更多信息,但是通过搜索异常代码: 0xc00000fd基本上可以判断是内存泄漏导致的应用程序池崩溃。 为了进一步了解具体情况,需要分析一下dmp文件。如何生成dmp文件?看下面 开启 Windows Error Reporting Service 服务 , (将上面的状态改成“已启动”) 设置w3wp.exe 崩溃时自动抓取dmp文件,保存在D:\dumps文件夹里 (将如下脚本保存为reg文件,双击执行即可,这块若有异议可以自行百度,我也是百度的) Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps

MyBatis

笑着哭i 提交于 2020-04-29 17:40:05
方法一: 在mybatis-config.xml中配置加一个setting <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <settings> <!-- 打印查询语句 --> <setting name="logImpl" value="STDOUT_LOGGING" /> </settings> </configuration> 如果是spring集成mybatis的话,在sqlSessionFactory配置好configLocation属性 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="configLocation" value="classpath:conf/mybatis-config.xml"></property> <!--

JAVAORM框架之Mybatis (Ibatis) 详解

北战南征 提交于 2020-04-29 03:15:42
[TOC] Mybatis基础概念 Mybatis是一个持久层框架 它对JDBC操作数据库进行封装,让我们更关注SQL本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等jdbc繁杂的过程代码。下面是Mybatis的架构图 Mybatis又是如何解决JDBC中存在的问题呢? 1、 创建数据库连接相关操作,存在硬编码 ​ a) 解决方案:通过Mybatis全局配置文件,对数据库连接进行配置 ​ 2、 statement相关操作,存在硬编码 ​ a) 解决方案:通过Mapper映射文件,对statement相关处理进行配置。 ​ 3、 频繁开启数据库连接,会降低数据库处理性能。 ​ a) 解决方案:通过Mybatis全局配置文件,配置连接池。 ​ ​ Mybatis开放方式演进 Mybatis框架核心要点 关联查询 所谓的关联查询就是一对一和一对多以及多对多的应用,例如下面的例子 一对一 : 例如在获取订单的时候需要获取该订单所属的用户信息 解决思路 : 使用ResultMap或者ResultType自定义一个POJO进行结果映射 一对多 : 例如在获取用户信息的时候需要获取该用户的所有订单信息 解决思路 : 自定义一个POJO使用(只能使用)ResultMap进行结果映射 延迟加载(懒加载) 关于延迟加载

高校宿舍管理系统详细需求分析说明书

北慕城南 提交于 2020-04-27 02:24:34
(详细)高校宿舍管理系统需求分析说明书(文末--> 获取原文档 ) 版本状态 版本 作者 参与者 起止日期 注释 审阅者 团队 版本 日期 签名 教学管理委员会 V1.1 2019.06.13 胡桂虹 教学管理委员会 V1.2 2019.06.14 胡桂虹 分发 姓名 位置 分发方式 分发日期 目 录 1 引言... 1 1.1 编写目的... 1 1.2 读者对象... 1 1.3 术语解释... 1 1.4 参考资料... 2 2 项目概述... 3 2.1 项目背景... 3 2.2 项目目标... 3 3 高校宿舍管理系统总体功能... 4 4 系统需求优先级... 5 5 业务需求... 6 5.1 主要业务流程图... 6 5.1.1 用户管理业务流程设计... 6 5.1.2 楼栋管理业务流程设计... 7 5.1.3 宿舍管理业务流程设计... 8 5.1.4 维修管理业务流程设计... 9 5.1.5 报表管理业务流程设计... 10 5.1.6 登记管理业务流程设计... 11 5.1.7 床位管理业务流程设计... 12 5.2 系统功能需求... 13 5.2.1 角色分析... 13 5.2.2 业务功能分析... 13 5.2.3 用户管理模块需求设计... 14 5.2.4 楼栋管理模块需求设计... 16 5.2.5 宿舍管理模块需求设计... 18

【Spring Boot】Spring Boot之整合Sharding-JDBC(java config方式)实现分库分表(水平拆分)

给你一囗甜甜゛ 提交于 2020-04-26 08:54:54
一、概念先行 1)SQL相关的 逻辑表:水平拆分的数据库(表)的相同逻辑和数据结构表的总称。例:订单数据根据主键尾数拆分为2张表,分别是t_order_0到t_order_1,他们的逻辑表名为t_order。 真实表:在分片的数据库中真实存在的物理表。例:示例中的t_order_0到t_order_1 数据节点:数据分片的最小单元。由数据源名称和数据表组成,例:ds_0.t_order_0;ds_0.t_order_1; 绑定表:指分片规则一致的主表和子表。例如:t_order表和t_order_item表,均按照order_id分片,则此两张表互为绑定表关系。绑定表之间的多表关联查询不会出现笛卡尔积关联,关联查询效率将大大提升。 广播表:指所有的分片数据源中都存在的表,表结构和表中的数据在每个数据库中均完全一致。适用于数据量不大且需要与海量数据的表进行关联查询的场景,例如:字典表,示例中的t 2)分片相关 分片键:用于分片的数据库字段,是将数据库(表)水平拆分的关键字段。例:将订单表中的订单主键的尾数取模分片,则订单主键为分片字段。 SQL中如果无分片字段,将执行全路由,性能较差。 除了对单分片字段的支持,ShardingSphere也支持根据多个字段进行分片。 分片算法:通过分片算法将数据分片,支持通过=、>=、<=、>、<、BETWEEN和IN分片

MyBatis Interceptor

ぃ、小莉子 提交于 2020-04-23 03:47:02
MyBatis的拦截器可以用于在以下对象及方法中拦截修改: Executor (update, query, flushStatements, commit, rollback, getTransaction, close, isClosed) ParameterHandler (getParameterObject, setParameters) ResultSetHandler (handleResultSets, handleOutputParameters) StatementHandler (prepare, parameterize, batch, update, query) 每一个方法会对应不同的参数列表, 这些需要体现在Intercepts的Signature中 配置 除了实现Interceptor接口以外, 需要在项目中做以下配置 application.yml 增加对应的mybatis-config.xml, 因为现在还不支持在yml中配置plugin mybatis: type-aliases-package: com.compayn.proj.commons.api.dto mapper-locations: classpath:mapper/*.xml config-location: classpath:mybatis-config.xml

为啥国人喜欢Mybatis,而老外偏爱 Hibernate/JPA 呢?

假装没事ソ 提交于 2020-04-20 18:27:12
这是一篇很不错的文章,长见识,文章有点长,大家可以慢慢读。会有所收获的。 关于SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明: 本文不会下关于 Mybatis 和 JPA 两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于 Mybatis 和 JPA 孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。 我也看过知乎上一些问答,各有各的理由,感觉都挺有道理。如果让我不带感情色彩地去分辨,其实我也是懵的,因为真的是公说公有理婆说婆有理。 而在国内,不得不承认,用 Mybatis 的公司确实是要比用 JPA 的多,但是在 2015 年以前,用 Hibernate 的公司确实也是很多的。 为什么在国内,会有这样的现象发生?而在国外, 老外会一如既往地使用 JPA 呢? 我们来分析分析。 二、目前生态 在最近(2018)的 JVM 生态报告中( https://snyk.io/blog/jvm-ecosystem-report-2018-platform-application/),Mybatis是使用率是很低的。可以看图: 可以看出,Mybatis 的占比只有可怜的 6%,大家看到这个统计结果应该会很吃惊

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