-
Mybatis高阶
延迟加载 介绍 延迟加载:不会立即查询,而是实际使用数据时再查询 association 和 collection 都是在加载关系对方的数据,但在查询一方时,不一定需要另一方数据,此时可以利用延迟加载特性 做出适应 打开mysql日志功能 找到mysql的C:\ProgramData\MySQL\MySQL Server 5.7\my.ini文件,修改配置,将mysql日志输出到本地磁盘,用于观测mysql实际执行了哪些查询动作 general-lo...…
-
MyBatis进阶
所有代码 学MyBatis时,练习的所有代码都在此了【MyBatis_Maven_Two】,我会尽可能的打上注释。 使一个Maven项目,使用工具IDEA,使用MySQL数据库 输入参数和输出参数 传递简单类型参数 使用#{}占位符,或者${}进行sql拼接。(order by id 必须使用${}) 如果传递多个简单类型,使用@Param注解实现 注意:输出简单类型必须查询出来的结果集有一条记录,最终将第一个字段的值转换为输出类型。 传递p...…
-
MyBatis自动生成器
简介 Mybatis自动生成器,是为了程序员快速开发而设计,省去写重复代码的时间。 但是如果你是初学者,推荐不要使用。先去自行创建熟练了,再用这种方式吧。 核心 使用官方网站的Mapper自动生成工具mybatis-generator-core-1.3.7来生成po类和Mapper映射文件 MyBatis Generator英文文档:http://mybatis.org/generator/ Jar包下载地址:https://github.com/m...…
-
日志框架
简介 在项目开发过程中,我们可以通过 debug 查找问题。而在线上环境我们查找问题只能通过打印日志的方式查找问题。因此对于一个项目而言,日志记录是一个非常重要的问题。因此,如何选择一个合适的日志记录框架也非常重要。 常见日志框架 在Java开发中,目前常用的日志框架包括Log4j 1,Log4j 2,Commons Logging,Slf4j,Logback,Jul。 这些日志记录框架各有各的特点,各有各的应用场景。了解这些框架的特点及应用场景,有利于我们...…
-
MyBatis配置文件优化
配置文件包含内容(按顺序): properties(属性) settings(全局配置参数) typeAliases(类型别名) typeHandlers(类型处理器) objectFactory(对象工厂) plugins(插件) environments(环境集合属性对象) environment(环境子属性对象) transactionManager(事务管理) dataSource(数据源) mappers(映射...…
-
MyBatis基础
MyBatis 简介 ORM : 对象关系映射(Object RelationShip Mapping) MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。 iBatis一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBaties提供的持久层框架...…
-
私服
简介 公司在自己的局域网内搭建自己的远程仓库服务器,称为私服。 私服服务器即是公司内部的maven远程仓库,每个员工的电脑上安装maven软件并且连接私服服务器,员工将自己开发的项目打成jar并发布到私服服务器,其它项目组从私服服务器下载所依赖的构件(jar)。 当多人项目开发的时候,尤其聚合项目开发,项目和项目之间需要有依赖关系,通过maven私服,可以保存互相依赖的jar包,这样的话就可把多个项目整合到一起。 众所周知,在使用maven时,在局域网中搭建私服...…
-
Maven传递依赖及分模块化
什么是传递依赖 当项目依赖一个jar包时,与这个jar包关联的其他jar包也会关联到当前项目,这种现象就是传递依赖。 比如A项目依赖B项目,B又依赖C项目, 此时A中也包含了C的依赖。 依赖传递出现的问题 依赖传递出现的问题:经常出现jar包冲突, 解决方案: 直接排除指定的jar包 版本号限定原则 解决jar包冲突的方式(4种) 排除原则(常用) 代码示例: <de...…
-
Maven配置
下载 下载地址:【Maven】 Maven目录 bin: 含有mvn运行的脚本 boot: 含有plexus-classworlds类加载器框架 conf: 含有settings.xml配置文件等 lib: 含有Maven运行时所需要的java类库 LICENSE, NOTICE, README.txt针对Maven版本,第三方软件等简要介绍 注意:解压文件尽量不要放在含有中文或者特殊字符的目录下。 配置Maven环境变量 ...…
-
Maven
Maven简介 Maven是什么 Maven是一个项目管理和综合工具。Maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期。 在多个开发团队环境时,Maven可以设置按标准在非常短的时间里完成配置工作。由于大部分项目的设置都很简单,并且可重复使用,Maven让开发人员的工作更轻松,同时创建报表,检查,构建和测试自动化设置。 Maven历史 Maven最初设计,是以简化Ja...…
-
转账案例介绍MD5加密和ThreadLocal的使用
介绍 通过这个例子,分别介绍ThreadLocal和MD5加密的使用。 使用ThreadLocal:线程局部变量:作用实现把数据绑定到线程中,从而实现线程安全。 使用MessageDigest:类为应用程序提供信息摘要算法的功能,如 MD5 或 SHA 算法。 问题和解决 当转账时遇到的问题(其他小问题这里不展示): (1)转账时,一个账户减钱成功,但是这是出现异常,导致另一账户没有...…
-
状态管理-Session
Session概述 什么是Session 服务器端为了保存用户的状态而创建的一个特殊的对象(即session对象)。 Servlet 容器使用这个接口来创建一个 HTTP 客户端和 HTTP 服务器之间的 session 会话。会话持续一个指定的时间段,跨多个连接或页面请求。 Session工作原理 session被用于表示一个持续的连接状态,在网站访问中一般指代客户端浏览器的进程从开启到结束的过程。session其实就是网站分析的访问(visits)度量...…
-
ServletContext对象
ServletContext对象 ServletContext:Servlet上下文,代表当前整个应用程序。(jsp中application) 什么是ServletContext ServletContext:Servlet上下文。 当WEB服务器启动时,会为每一个WEB应用程序(webapps下的每个目录就是一个应用程序)创建一块共享的存储区域 ServletContext也叫做“公共区域”,也就是同一个WEB应用程序中,所有的Servlet和JSP...…
-
EL表达式和JSTL
EL表达式 EL表达式和基本语法 EL表达式:Expression Language表达式语言 目的:简化jsp中java代码开发,代替脚本表达式<%=username%> 它不是一种开发语言,是jsp中获取数据的一种规范 格式如: ${EL表达式} 等价于<%=pageContext.findAttribute(name)%> EL的具体功能 获取简单数据 代码如下: ${username} 获取实体类对...…
-
状态管理-Cookie
状态管理介绍 为什么需要状态管理 HTTP协议是无状态的,不能保存每次提交的信息,即当服务器返回与请求相对应的应答之后,这次事务的所有信息就丢掉了。 如果用户发来一个新的请求,服务器无法知道它是否与上次的请求有联系。 对于那些需要多次提交数据才能完成的Web操作,比如登录来说,就成问题了。 什么是状态管理 WEB应用中的会话是指一个客户端浏览器与WEB服务器之间连续发生的一系列请求和响应过程。 WEB应用的会话状态是指WEB服务器与浏览器在会话...…
-
验证码
介绍 验证码有很多种,比如图片验证码、点击指定图片验证、加减乘除运算验证、移动拼图验证等。有很多种,其实目的都一样。 验证码作用:防止机器攻击。 这里只介绍一种图片验证(两种方式实现) 第一种 ValidateCode 需要第三方包 ValidateCode.jar 代码示例: //创建ValidateCode对象,设置宽、高、生成几位验证码、有几根影响线 ValidateCode ...…
-
Servlet中三种获取客户端发送的数据
介绍 当用户在网页输入框中输入数据,后端可以通过三种方式获取用户输入的数据。 第一种(简单) 使用getParameter("xxx")获取 代码示例: String username = req.getParameter("username");String password=req.getParameter("password");String gender=req.getParameter("gender");String[] hobby = req...…
-
JSP基本使用
JSP简述 JSP全称Java Server Pages,是一种动态网页开发技术。标签通常以<%开头以%>结束。 JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分。 JSP通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。 JSP标签有多种功能,比如访问数据库、记录用户选择信息、访问JavaBeans组件等,还可以在不同的网页中传递控制信息和共享信息。 和Servlet一样,是SU...…
-
request和response
页面跳转 作为后台开发人员,我们大多时候都在接收处理用户请求,给予用户响应,为了方便操作,服务器软件将请求和响应封装成了request和response Java Web服务端控制页面跳转主要有两种:重定向和转发 重定向 代码示例: response.sendRedirect(“index.html”); 重定向就是通过各种方法将网络请求重新定个方向转到其它位置。 实现原理: ...…
-
Servlet生命周期及其他
Servlet生命周期 四个阶段简述 加载和实例化(调用构造方法): 当Servlet容器启动或客户端发送一个请求时,Servlet容器会查找内存中是否存在该Servlet实例,若存在,则直接读取该实例响应请求;如果不存在,就创建一个Servlet实例。 初始化: 实例化后,Servlet容器将调用Servlet的init()方法进行初始化(一些准备工作或资源预加载工作)。 ...…