自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (3)
  • 收藏
  • 关注

原创 SpringMVC组件

DisPatcherServlet  前端控制器 相当于MVC中的C(Controller),dispatcherservlet是整个流程的控制中心,由它调用其他组件处理用户请求。 HandlerMapping   处理器映射器 HandlerMapping负责根据用户请求url找到Handler处理器,springmvc提供了不同的映射器实现不同的映射方式,HandlerMapping会把...

2019-01-31 14:02:31 119

原创 快速排序及改进

import java.util.Arrays; public class QuickSort { /** *partition的处理 * 当前数<p 当前数和小于区的后一个数交换 <区向右扩 当前数跳下一个 * * 当前数>p 当前数和大于区的前一个数交换 >大于区左扩 当期当前数不变 ...

2019-01-19 20:10:13 129

原创 spring 事务的传播行为

什么是传播行为? 在一个业务方法中,调用另一个业务方法 例如:方法B中调用了方法A Spring中提供了7种事务的传播行为 保证多个操作在同一个事务中   PROPAGATION_REQUIRED  (常用) 默认值,如果A中有事务,则使用A中的事务,如果A没有,创建一个,将操作包含进来   PROPAGATION_SUPPORTS 支持事务,如果A中有事务,则使用A中的事务,...

2019-01-18 19:34:33 98

原创 spring AOP注解开发

第一步:在配置文件中开启AOP注解 <!--配置开启aop注解--> <aop:aspectj-autoproxy/> 第二步,在切面类上配置切面标签, 并在切面类中的方法上贴上通知标签   注解AOP通知类型 (1)@Before   前置通知 @Before(value = "execution(* com.itlike.demo...

2019-01-18 15:55:46 134

原创 spring AOP通知类型 及 切入点表达式

通知类型 前置通知    在目标方法执行之前进行操作 实现类: public class GoodsDaoImpl implements GoodsDao { @Override public void save() { System.out.println("保存操作"); } @Override public void updat...

2019-01-18 15:12:08 319

原创 spring AOP

AOP采用横向抽取机制代替了传统的纵向继承 可以在不破坏原有类的基础上,生成一个代理类,在原来的类上进行增强 可以随时添加和取消功能   JDK动态代理原理(必须得要有接口)   接口: public interface GoodsDao { public void save(); public void update(); } 实现类: public cl...

2019-01-18 12:15:42 95

原创 spring IOC注解开发

1.引入aop包 2.xml文件中引入约束: http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd" 3.要在配置文件中配置包扫描 <context:component-scan base-package="xxx...

2019-01-17 19:28:00 117

原创 spring属性注入

set方法属性注入 给类中的属性提供set方法 实体类: 提供set方法 public class Student { public String name; public Integer age; public void setName(String name) { this.name = name; } public void...

2019-01-17 17:28:28 244

原创 spring Bean相关配置及对象的生命周期

名称与表示:   id   使用了约束中的唯一约束,里面不能出现特殊字符 name  没有使用唯一约束,可以出现特殊字符(一般不使用)   设置对象生命周期的方法: init-method             Bean被初始化时执行的方法  即加载配置文件时创建管理的所有的对象并调用所有的init方法(以前的版本是在调用getBean()时,对象才会被创建) destroy-met...

2019-01-17 16:24:24 233 1

原创 并发编程(2)

volatile关键字 作用:  private  volatile int a =0; 强制线程到共享内存中读取数据,而不是从线程工作中读取,从而使变量在多个线程间可见。 volatile无法保证原子性,volatile是轻量级的同步,性能比Synchronized强很多,但是只是保证了性能的可见性,并不能替代Synchronized的同步功能。 volatile和static的区别 ...

2019-01-17 14:49:50 79

原创 并发编程(1)

当若干个线程共享主存区的资源时,将主存区的资源复制到自己的线程中使用,使用完毕后放回主内存,这时会产生线程安全问题。 如果是各个线程用自己的资源,则不会。   JVM内存模型:可见性,原子性。   1.线程安全额概念:当多个线程访问某一个类、对象或方法时,这个类、对象或方法都能表现出与单线程执行时一致的行为,那么就是线程安全的。 2.线程安全问题都是由全局变量及静态变量引起的。 3....

2019-01-17 14:20:02 99

原创 Java 剑指offer 面试题10:斐波那契数列

求斐波那契数列的第n项 递归: 递归法实现起来简单,但是因为会计算重复的节点,这就意味着计算量会随着n的增大急剧增大。当计算n=50,第50项的时候已经相当耗时 非递归: 可以采用循环,先得到f(0)  f(1)  相加得到f(2)  再相加得到f(3)   再得到f(4)    依次得到f(n)   //写一个函数,输入n,求斐波那契数列的第n项 public class Fibon...

2019-01-16 12:08:38 221

原创 MyBatis 输出类型

MyBatis的输出类型类型有三种 ,分别是:输出简单类型、Map、resultMap 输出简单类型: 相应的Mapper接口 public Integer getAccountCustomer(); 对应的xml中的SQL: <select id="getAccountCustomer" resultType="Integer"> select...

2019-01-14 11:28:09 496

原创 MyBatis 核心配置文件及属性

properties: 定义并读取属性文件 <properties resource="db.properties"/> settings: 这是MyBatis中极为重要的调整设置,它会改变MyBatis的运行行为 <!--配置sql打印--> <settings> <setting name="logImpl" ...

2019-01-09 17:35:55 572

原创 MyBatis Mapper动态代理规则及动态代理的调用

1.对应的书写SQL语句的xml文件中的nameapsce必须为接口的全路径 2.接口中的方法名称必须和xml中对应的ID相同 3.xml中的parameterType必须和接口中的参数类型一致          当传递多个参数时parameterType可以省略不写 4.xml中的ResultType必须和接口中的返回值类型一致 例如:对于一个客户表   实现其CRUD 其Custom...

2019-01-09 15:45:44 452

原创 MyBatis 获取最后插入的ID

需求:当向表中插入一条数据后,获得该条数据的id keyColmun   要获取哪一列的数据(哪一列的数据是id) keyProperty   要把该属性(id)赋值给哪个字段 resultType   返回类型 order   是在插入前获得还是插入后获得 <insert id="insertCustomer" parameterType="com.bullet.domain...

2019-01-09 14:40:47 2580

原创 MyBatis #{} ${}

#{} 表示一个占位符号 自动进行java类型和jdbc类型转换 可以有效防止SQL注入 可以接受简单类型或者pojo属性值 如果parameterType传输单个数据类型,#{}括号中可以是value或其他名称   SELECT * FROM `customer` where cust_name like '%#{value}%';  SELECT * FROM `custom...

2019-01-09 11:28:50 1381

原创 MyBatis 配置文件及创建session工厂

1.数据库的配置文件     全局配置文件    SqlMappingConfig.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org...

2019-01-09 10:38:05 1164

原创 Hibernate查询方式 QBC

QBC普遍使用于条件查询   是一种更加面向对象的查询方式 基本使用 public void test1(){ Session session = HibernateUtil.openSession(); Criteria criteria = session.createCriteria(User.class); //添加排序 ...

2019-01-08 17:51:51 118

原创 MySQL 多对多条件查询

两个表   user和role   中间表是user_role 查询用户和角色的对应关系 select res.user_name,r.role_name from(select u.user_name,ur.role_id from user as u INNER JOIN user_role as ur where u.user_id=ur.user_id) as res INNE...

2019-01-08 17:13:19 5723

原创 Hibernate 查询方式 OID 对象导航查询 HQL

OID查询 OID查询是根据对象的OID主键进行查询 OID的查询方式分为两种:get和load get:(1)当get()方法被调用时,会立即发出SQL语句          (2)返回的对象是实际对象          (3)使用get()和普通的单条查询差别不大          (4)当查询不到时返回的是null load:(1)当load()被调用时,返回的是目标对象的代理...

2019-01-08 17:09:29 210

原创 Hibernate多对多关系配置

需求:一个用户可以有多个角色,一个角色也可以被多个用户选择 POJO: public class User { private Long user_id; private String user_code; private String user_name; private String user_password; private String us...

2019-01-08 15:36:11 233

原创 Hibernate 一对多关系配置、增删改查、级联操作等

需求:有两个表,分别是客户表和联系人表,一个客户有多个联系人,一个联系人只有一个客户 两个POJO类 public class Customer { private Long cust_id; private String cust_name; private String cust_source; private String cust_industry; ...

2019-01-07 21:32:44 207

原创 数据库 事务管理

事务:逻辑上的一组操作,要么全部成功,要么全部失败。 事务的特性: 1.原子性:事务不能分离 2.隔离性:执行一个事务的时候,不能受到其他事务的干扰 3.持久性:事务完成后,事务便持久到数据库当中 4.一致性:事务执行前后,数据的完整性要保持一致   如果不考虑隔离性,会引发安全问题 读问题: (1)脏读:一个事务读到另一个事务未提交的数据 (2)不可重复读:一个事务读到另一个...

2019-01-07 16:18:14 142

原创 配置Hibernate常见问题及解决

在引入第三方连接池时,报错:连接数据库出现java.sql.SQLException: Unknown system variable 'tx_isolation' 原因:mysql-connector-java版本过低,换用高版本即可   在引入第三方连接池时,报错:The server time zone value 'Öйú±ê׼ʱ¼ä' is unrec 原因:数据库时区设置...

2019-01-07 15:14:14 216

原创 Hibernate 常用API

hibernate保存操作   记得开启事务 public void test1(){ Session session = HibernateUtil.openSession(); //获取session Transaction transaction = session.beginTransaction(); Customer ...

2019-01-07 15:07:59 168

原创 Hibernate基础配置

在使用Hibernate框架进行基础的配置 1.导入jar包 2.引入配置文件Hibernate.cfg.xml   该配置文件配置了连接数据库的基本配置 可选配置:  hibernate.hbm2ddl.auto none:不使用hibernate自动建表 create:如果数据库中已有表,删除原表,重新创建,如果没有表,创建新表 create-drop  如果已经有表,删除原表,执...

2019-01-07 11:33:16 215

原创 Java 剑指offer 面试题9:两个栈实现队列

题目:用两个栈实现一个队列,请实现它的两个函数appendTail和DeleteHead,分别完成在队列尾部插入节点和在队列头部删除节点的功能。 思路:两个栈,记为stack1和stack2,把元素入栈到stack1,再出栈压入到stack2,这样stacks中的元素由栈顶到栈底的顺序就和队列相同了,然后stack2依次出栈,相当于DeleteHead,那该如何实现appendTail,就是想s...

2019-01-06 21:44:33 647

原创 Java 剑指offer 面试题7:重建二叉树

给出二叉树的中序和前序遍历,重建该二叉树,或者给出中序和后序遍历,重建二叉树。 思路: 对于无论是前序+中序重建二叉树,还是后序+中序 中序都是来提供左右子树的划分,而前序和后序是来判断根节点 先定义树的结构体 public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode...

2019-01-06 19:57:49 1165

原创 二叉树的构建及递归遍历

定义结构体 public class Node { int value; Node left; Node right; public Node(int value, Node left, Node right) { this.value = value; this.left = left; this.right ...

2019-01-06 18:50:47 228 2

原创 Java 剑指offer 面试题6:从尾到头打印链表

定义链表 class ListNode{ //定义节点 int data; ListNode next; }  将链表先入栈,再出栈 import java.util.Stack; public class demo { public void printReverse(ListNode listNode) { Stack<ListNode...

2019-01-03 10:48:00 123

原创 Java 剑指offer 面试题5:替换空格

题目:实现一个函数,把字符串中的每个空格替换成”%20“ public class demo { public String replace(String str){ if (str == null){ return null; } StringBuffer stringBuffer = new StringBu...

2019-01-02 20:54:16 106

原创 Java 剑指offer 面试题4:二维数组中的查找

题目:在一个二维数组中,每一行都是从左往右依次增大,每一列都是从上往下依次增大,请完成一个函数,输入二维数组和整数,判断该数组是包含该整数   分析: 可以从坐下角查起,记需要查找的数字为M,若左下角的数字等于M,则查到。若左下角的数字小于M,则删除所在行,如果左下角的数字大于M,则删除所在列。同理,也可以从右上角查起 public class Demo1 { public bo...

2019-01-02 20:23:58 122

原创 SpringMVC 拦截器

springmvc的拦截器是对对应的请求进行拦截 拦截器必须实现一个 HandlerInterceptor接口 public class MyInterceptor implements HandlerInterceptor { @Override //当处理器执行方法之前调用 public boolean preHandle(HttpServletRequest r...

2019-01-02 17:08:54 75

原创 SpringMVC 上传文件

在SpringMVC中,为文件上传提供了直接的支持,是通过接口MultipartResolver提供的 springmvc默认是没有配置MultipartResolver的 因此需要手动下载相关jar包,自己到配置文件中进行相关配置 文件上传 上传文件的form表单 <form action="${pageContext.request.contextPath}/upload"...

2019-01-02 15:45:09 96

原创 SpringMVC 文件下载

需求:对download文件夹下的文件下载 两个下载链接: <a href="${pageContext.request.contextPath}/download/logo.png">下载logo.png</a> <a href="${pageContext.request.contextPath}/download/框架.jpg">下载框架.jp...

2019-01-02 15:10:13 109

原创 SpringMVC 视图解析器及配置

视图解析器 在springmvc中,请求处理执行完成后,最终返回一个ModelAndView对象,即使返回的是Model或者String等类型的处理方法,springm内部也会将他们装配成一个ModelAndView对象,springmvc借助视图解析器(ViewReslover),得到最终的视图对象 视图 视图的作用是渲染模型数据,将模型里的数据以某种形式呈现 视图对象有视图解析器实例化...

2019-01-02 12:10:43 1386

原创 SpringMVC @ResponseBody与@RequestBody 及表单序列化

ResponseBody 当前端使用Ajax发送请求时,服务器要将数据以JSON的格式响应给浏览器 第一步:添加相关jar包 第二步:在spring的配置文件中写上<mvc:annotation-driven/> 第三步:映射方法的返回值为@ResponseBody 发送Ajax请求 <%@ page contentType="text/html;charset=U...

2019-01-02 11:29:35 1347

原创 SpringMVC 静态资源访问

首先要谈在使用web层框架时,都会配置一个拦截器,而拦截器的url-pattern有以下几种: 1.  /*  拦截所有   jsp  js  png  全拦截  不建议使用 2.   *.action   *.do  拦截以 .action  或者以  .do 结尾的请求 3.   /   拦截所有,不包含jsp  包含js  png   css    建议使用 因此,一般情况下都会使用...

2019-01-01 17:17:57 99

原创 SpringMVC form标签、服务器表单验证、错误信息回显

form标签 应用场景:方便服务器数据在form表单上的展示 使用方式:1.引入标签库   2.创建表单   例如:创建两个实体类 @Setter@Getter@ToString public class User { private String username; private Integer age; private Integer gender; ...

2019-01-01 16:10:57 1498 3

metadata.db

calibre 所需的数据库文件 metadata.db文件1

2020-08-16

springmvc上传文件所需jar包

springmvc在 实现上传文件功能所的3个jar包

2019-01-02

springmvc服务器表单校验所需jar包

springmvc的服务器表单校验所需要的jar包,分别为:classmate.jar、classmate.jar、hibernate-validator-annotation-processor-5、hibernate-validator-annotation-processor-5、validation-api-1.1.0.jar

2019-01-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除