彭超

生命不息,奋斗不止

MyBatis 逆向工程生成代码

下载项目已上传至百度网盘 网盘链接:https://pan.baidu.com/s/1m2YcxD6hGp6rQrGNhAEjYw 提取码:iu9y 生成代码由于使用数据表时,我们需要给每一个表都创建对应的实体类,每个实体类都有对应的 Mapper 接口和 Mapper.xml 文件,这些其实都是一些重复的工作,我们可以通过第三方工具来完成。 MyBatis 逆向工程非常多,我们 I......

再谈 MyBatis 复杂查询

一对一查询在实际开发中,经常会遇到一对一查询,一对多查询等。这里我们先来看一对一查询。例如:每本书都有一个作者,作者都有自己的属性,根据这个,我来定义两个实体类: 12345678public class Book { private Integer id; private String name; private Author author; /......

MyBatis 引入 Mapper 简化代码

前面文章所写的增删改查是存在问题的。每执行一次 SQL,都要开启一次会话,并且需要提交并关闭,主要问题就是冗余代码过多,模板化代码过多。 例如,我想开发一个 UserDao,可能是下面这样: 简化前的 UserDao12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849......

MyBatis 的映射文件详解

mapper 映射文件,是 MyBatis 中最重要的部分,涉及到的细节也是非常非常多。 parameterType这个表示输入的参数类型。 $ 和 #这是一个非常非常高频的面试题,虽然很简单。在面试中,如果涉及到 MyBatis,一般情况下,都是这个问题。在 MyBatis 中,我们在 mapper 引用变量时,默认使用的是 #,像下面这样: 123<select id="getUs......

MyBatis 全局配置

全局配置中的属性非常多,主要有如下几方面: properties(属性) settings(全局配置参数) typeAliases(类型别名) typeHandlers(类型处理器) objectFactory(对象工厂) plugins(插件) environments(环境集合属性对象) environment(环境子属性对象) transactionManager(事务管理) dat......

Java 持久层框架 MyBatis

JDBC 存在的问题 数据库连接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库连接池可解决此问题。 Sql 语句在代码中硬编码,造成代码不易维护,实际应用 sql 变化的可能较大,sql 变动需要改变 java 代码。 使用 preparedStatement 向占位符号传参数存在硬编码,因为 sql 语句的 where 条件不一定,可能多也可能少,修改 sql 还要修改代码......

Spring MVC 引入 Hibernate Validator 实现数据校验

B/S 系统中对 http 请求数据的校验多数在客户端进行,这也是出于简单及用户体验性上考虑,但是在一些安全性要求高的系统中服务端校验是不可缺少的,实际上,几乎所有的系统,凡是涉及到数据校验,都需要在服务端进行二次校验。为什么要在服务端进行二次校验呢?这需要理解客户端校验和服务端校验各自的目的。 客户端校验,我们主要是为了提高用户体验,例如用户输入一个邮箱地址,要校验这个邮箱地址是否合法,......

Spring MVC 的 Controller 使用详解

@RequestMapping这个注解用来标记一个接口,这算是我们在接口开发中,使用最多的注解之一。 请求 URL标记请求 URL 很简单,只需要在相应的方法上添加该注解即可: 12345678@Controllerpublic class HelloController { @RequestMapping("/hello") public ModelAndVi......

Spring MVC 中上传文件及全局异常处理

SpringMVC 中对文件上传做了封装,我们可以更加方便的实现文件上传。从 Spring3.1 开始,对于文件上传,提供了两个处理器: CommonsMultipartResolver StandardServletMultipartResolver· 第一个处理器兼容性较好,可以兼容 Servlet3.0 之前的版本,但是它依赖了 commons-fileupload 这个第三方工具......

《终身成长》读书分享

这本书从思维模式的角度,让我们找到自己恐惧、苦恼和失败的原因。同时,将帮助我们突破这些阻碍,获得成长,达成目标。成长是每个人一辈子的事,它无关年龄。无论何时,停滞成长,才是最可怕的衰老。 人的两种思维模式固定型思维模式认为人的才能一成不变。这让人们时刻想证明自己的智力、个性和特征。他们会把发生的事情当做衡量能力和价值的直接标尺。 成长型思维模式认为人的能力可以努力培养。虽然人的先天才能、资质......