摘要:
概述 事务管理对于企业应用来说是至关重要的,即使出现异常情况,它也可以保证数据的一致性。Spring Framework对事务管理提供了一致的抽象,其特点如下: 为不同的事务API提供一致的编程模型,比如JTA(Java Transaction API), JDBC, Hibernate, JPA( 阅读全文
posted @ 2017-05-09 17:09
ー個亽の江湖
阅读(89)
评论(0)
推荐(0)
摘要:
前两天学习微框架spring Boot时候在定义Controller类的时候习惯性的使用了@Controller此时发现无论怎么访问都访问不了,此时将@Controller改为@RestController便一切正常了。当时为了搞懂这两个注解查询了相关的资料,现在记录一下。 @RestControl 阅读全文
posted @ 2017-05-09 17:03
ー個亽の江湖
阅读(436)
评论(0)
推荐(0)
摘要:
被@ModelAttribute注释的方法会在此controller每个方法执行前被执行,因此对于一个controller映射多个URL的用法来说,要谨慎使用。 我们编写控制器代码时,会将保存方法独立成一个控制器也是如此。 1、注释void返回值的方法 在这个代码中,访问控制器方法helloWorl 阅读全文
posted @ 2017-05-09 17:01
ー個亽の江湖
阅读(134)
评论(0)
推荐(0)
摘要:
除了使用ModelAndView方式外。还可以使用Map、Model和ModelMap来向前台页面创造 使用后面3种方式,都是在方法参数中,指定一个该类型的参数。例如: Java代码 JSP页面 结果: 阅读全文
posted @ 2017-05-09 17:00
ー個亽の江湖
阅读(71)
评论(0)
推荐(0)
摘要:
@SessionAttributes原理 默认情况下Spring MVC将模型中的数据存储到request域中。当一个请求结束后,数据就失效了。如果要跨页面使用。那么需要使用到session。而@SessionAttributes注解就可以使得模型中的数据存储一份到session域中。 @Sessi 阅读全文
posted @ 2017-05-09 17:00
ー個亽の江湖
阅读(145)
评论(0)
推荐(0)
摘要:
ModelAndView 该对象中包含了一个model属性和一个view属性 model:其实是一个ModelMap类型。其实ModelMap是一个LinkedHashMap的子类 view:包含了一些视图信息 当视图解释器解析ModelAndVIew是,其中model本生就是一个Map的实现类的子 阅读全文
posted @ 2017-05-09 16:58
ー個亽の江湖
阅读(85)
评论(0)
推荐(0)
摘要:
具体看代码: 1 @RequestMapping("/testServletAPI") 2 public void testServletAPI(HttpServletRequest request, 3 HttpServletResponse response,HttpSession sessio 阅读全文
posted @ 2017-05-09 16:56
ー個亽の江湖
阅读(106)
评论(0)
推荐(0)
摘要:
有两POJO类 Address.java 1 package com.proc; 2 3 public class Address { 4 5 private String province; 6 private String city; 7 public String getProvince() 阅读全文
posted @ 2017-05-09 16:55
ー個亽の江湖
阅读(155)
评论(0)
推荐(0)
摘要:
@CookieValue的作用 用来获取Cookie中的值 @CookieValue参数 1、value:参数名称 2、required:是否必须 3、defaultValue:默认值 @CookieValue使用案例 1、我们在index.jsp页面中创建cookie值 2、在控制器中 测试代码 阅读全文
posted @ 2017-05-09 16:52
ー個亽の江湖
阅读(766)
评论(0)
推荐(0)
摘要:
REST风格 /user/1 get请求 获取用户 /user/1 post请求 新增用户 /user/1 put请求 更新用户 /user/1 delete请求 删除用户 在Spring MVC中如何提交put和delete请求呢? 需要在web.xml文件中配置一个HiddenHttpMetho 阅读全文
posted @ 2017-05-09 16:51
ー個亽の江湖
阅读(641)
评论(0)
推荐(0)
摘要:
案例来说明 1 @RequestMapping("user/add") 2 public String add(@RequestParam("name") String name, 3 @RequestParam("age") int age){ 4 System.out.println(name+ 阅读全文
posted @ 2017-05-09 16:50
ー個亽の江湖
阅读(191)
评论(0)
推荐(0)
摘要:
下面用代码来演示@PathVariable传参方式 1 @RequestMapping("/user/{id}") 2 public String test(@PathVariable("id") Integer id){ 3 System.out.println(id); 4 return "he 阅读全文
posted @ 2017-05-09 16:48
ー個亽の江湖
阅读(101)
评论(0)
推荐(0)
摘要:
@RequestMapping 参数说明 value:定义处理方法的请求的 URL 地址。(重点) method:定义处理方法的 http method 类型,如 GET、POST 等。(重点) params:定义请求的 URL 中必须包含的参数。或者不包含某些参数。(了解) headers:定义请 阅读全文
posted @ 2017-05-09 16:46
ー個亽の江湖
阅读(115)
评论(0)
推荐(0)
摘要:
在personMap.xml中 调用插入方法,将mybatis返回的自动增长ID自动返回给id属性 通过实体对象p.getId():就可以获取插入后该记录的id了 Oracle数据 阅读全文
posted @ 2017-05-09 16:42
ー個亽の江湖
阅读(225)
评论(0)
推荐(0)
摘要:
这里,set 元素会动态前置 SET 关键字,同时也会消除无关的逗号,因为用了条件语句之后很可能就会在生成的赋值语句的后面留下这些逗号。 若你对等价的自定义 trim 元素的样子感兴趣,那这就应该是它的真面目: 阅读全文
posted @ 2017-05-09 16:41
ー個亽の江湖
阅读(245)
评论(0)
推荐(0)
摘要:
<foreach>标签有循环的功能,可以用来生成有规律的SQL语句,主要属性有: item:表示集合每一个元素进行迭代时的别名 index:表示在迭代过程中,每次迭代到的位置 open:表示该语句已什么开始 separator:表示每次迭代之间以什么符号作为分隔 close:表示该语句已什么结束 c 阅读全文
posted @ 2017-05-09 16:41
ー個亽の江湖
阅读(109)
评论(0)
推荐(0)
摘要:
choose标签是按顺序判断其内部when标签中的test条件出否成立,如果有一个成立,则 choose 结束。当 choose 中所有 when 的条件都不满则时,则执行 otherwise 中的sql。类似于Java 的 switch 语句,choose 为 switch,when 为 case 阅读全文
posted @ 2017-05-09 16:40
ー個亽の江湖
阅读(87)
评论(0)
推荐(0)
摘要:
如果这些条件没有一个能匹配上将会怎样?最终这条 SQL 会变成这样: 这会导致查询失败。如果仅仅第二个条件匹配又会怎样?这条 SQL 最终会是这样: 这个查询也会失败。这个问题不能简单的用条件句式来解决,如果你也曾经被迫这样写过,那么你很可能从此以后都不想再这样去写了。 MyBatis 有一个简单的 阅读全文
posted @ 2017-05-09 16:40
ー個亽の江湖
阅读(125)
评论(0)
推荐(0)
摘要:
1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-conf 阅读全文
posted @ 2017-05-09 16:39
ー個亽の江湖
阅读(70)
评论(0)
推荐(0)
摘要:
重复的SQL预计永远不可避免,<sql>标签就是用来解决这个问题的 <sql id="sql1">id,name,age,gender</sql> <select id="getPerson" parameterType="int" resultType="orm.Person"> select < 阅读全文
posted @ 2017-05-09 16:39
ー個亽の江湖
阅读(79)
评论(0)
推荐(0)
摘要:
格式:<if test=""> sql语句 </if> 注意:Mybatis动态SQL单一基础类型参数用if标签时,test中应该用 _parameter 如果是类变量 阅读全文
posted @ 2017-05-09 16:39
ー個亽の江湖
阅读(129)
评论(0)
推荐(0)
摘要:
一、搭建开发环境 1.1、使用Maven创建Web项目 执行如下命令: mvn archetype:create -DgroupId=me.gacl -DartifactId=spring4-mybatis3 -DarchetypeArtifactId=maven-archetype-webapp 阅读全文
posted @ 2017-05-09 16:38
ー個亽の江湖
阅读(109)
评论(0)
推荐(0)
摘要:
一、提出需求 查询得到男性或女性的数量, 如果传入的是0就女性否则是男性 二、准备数据库表和存储过程 三、编辑userMapper.xml 编辑userMapper.xml文件,添加如下的配置项 四、编写单元测试代码 阅读全文
posted @ 2017-05-09 16:37
ー個亽の江湖
阅读(97)
评论(0)
推荐(0)
摘要:
一、MyBatis缓存介绍 正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的支持 2. 二级缓存与一级缓存其机制相同,默认也是采用 PerpetualCache,HashMap存储,不同在于其存储作用域为 Mapper(Namespace),并且可自定义存储源,如 Ehcac 阅读全文
posted @ 2017-05-09 16:37
ー個亽の江湖
阅读(59)
评论(0)
推荐(0)
摘要:
一、一对一关联 1.1、提出需求 根据班级id查询班级信息(带老师的信息) 1.2、创建表和数据 创建一张教师表和班级表,这里我们假设一个老师只负责教一个班,那么老师和班级之间的关系就是一种一对一的关系。 1 CREATE TABLE teacher( 2 t_id INT PRIMARY KEY 阅读全文
posted @ 2017-05-09 16:36
ー個亽の江湖
阅读(88)
评论(0)
推荐(0)
摘要:
一、连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中,如下: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE configuration PUBLIC 阅读全文
posted @ 2017-05-09 16:35
ー個亽の江湖
阅读(55)
评论(0)
推荐(0)
摘要:
在平时的开发中,我们表中的字段名和表对应实体类的属性名称不一定都是完全相同的,下面来演示一下这种情况下的如何解决字段名与实体类属性名不相同的冲突。 一、准备演示需要使用的表和数据 二、定义实体类 三、编写测试代码 3.1、编写SQL的xml映射文件 1、创建一个orderMapper.xml文件,o 阅读全文
posted @ 2017-05-09 16:35
ー個亽の江湖
阅读(68)
评论(0)
推荐(0)
摘要:
一、使用MyBatis对表执行CRUD操作——基于XML的实现 1、定义sql映射xml文件 userMapper.xml文件的内容如下: 单元测试类代码如下: 二、使用MyBatis对表执行CRUD操作——基于注解的实现 1、定义sql映射的接口 UserMapperI接口的代码如下: 需要说明的 阅读全文
posted @ 2017-05-09 16:34
ー個亽の江湖
阅读(84)
评论(0)
推荐(0)
摘要:
一、Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java 阅读全文
posted @ 2017-05-09 16:33
ー個亽の江湖
阅读(82)
评论(0)
推荐(0)

浙公网安备 33010602011771号