MyBatis01
1. MyBatis框架的作用MyBatis框架的主要作用是简化持久层开发。当使用MyBatis处理数据的增删改查时,只需要定义访问数据的抽象方法,并配置该抽象方法对应的SQL语句即可!
持久层:解决项目中数据持久化处理的组件。
数据持久化:将数据永久的保存下来,即将数据存储在硬盘等可以永久保存数据的存储介质中,如果要将数据保存在这些存储介质中,数据需要以文件的形式存在,通常,可以将数据存到文本文档、XML文档、数据库,通常,在没有明确的说明的情况下,讨论数据持久化指的就是使用数据库存取数据。
内存(RAM,具体表现通常是内存条):是CPU与其它硬件交换数据的“桥梁”,正在执行的程序和数据都在内存中,一旦断电则数据全部丢失。
2. 创建MyBatis项目创建Maven项目,Group Id为cn.tedu,Artifact Id为mybatis,Packaging保持为jar即可。
然后,在项目中添加相关依赖:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484 ...
MyBatis02
1. 使用XML文件配置SQL语句首先下载http://doc.canglaoshi.org/config/Mapper.xml.zip,解压得到SomeMapper.xml。
在项目的src/main/resources下创建mappers文件夹,并将SomeMapper.xml复制到该文件夹,并重命名为UserMapper.xml。
此步骤中创建的文件夹的名称是自定义的,与后续的配置有关。
此步骤中XML文件的名称是自定义的,与其它任何配置都无关。
以上添加的UserMapper.xml就是用于配置SQL语句的文件,通常称之为映射文件!该文件中的以下代码是固定的,且不可缺少的:
12<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd&qu ...
MyBatis03
1. 通过查询时自定义别名的方式解决名称不一致而导致的无法封装数据的问题假设,向用户组数据表(t_group)表中插入一些测试数据:
12INSERT INTO t_group (name) VALUES ('超级管理员'), ('VIP用户'), ('普通用户');INSERT INTO t_group (name) VALUES ('禁用用户');
接下来,就应该在用户数据表(t_user)中添加新的字段,用于记录每个用户归属于哪个组:
1ALTER TABLE t_user ADD COLUMN group_id int;
然后,为现有的数据分配组:
123UPDATE t_user SET group_id=1 WHERE id IN (11);UPDATE t_user SET group_id=2 WHERE id IN (9, 10);UPDATE t_user SET group_id=3 WHERE id IN (2, 6, 13);
当用户数据表添加了新的字段以后,在项目中的Use ...
SpringMVC02
1. 接收客户端提交的请求参数1.1. 使用HttpServletRequest接收请求参数在处理请求的方法的参数列表中,添加HttpServletRequest类型的参数,在处理请求的过程中,调用该参数对象的getParameter()方法即可获取请求参数;
1.2. 将请求参数设计为方法的参数可以将客户端提交的请求参数直接声明为处理请求的方法的参数,并且,可以直接将参数声明为期望的数据类型,例如:
1234567891011121314// 【处理注册请求】@RequestMapping("handle_reg.do")@ResponseBodypublic String handleReg(String username, String password, Integer age, String phone, String email) { System.out.println("UserController.handleReg()"); System.out.println("username=" ...
SpringMVC03
1. 关于@RequestMapping注解在控制器中,在处理请求的方法之前添加@RequestMapping注解,可以配置请求路径与处理请求的方法的映射关系!
在@RequestMapping注解的源代码中有:
12345678910111213/** * The primary mapping expressed by this annotation. * <p>This is an alias for {@link #path}. For example, * {@code @RequestMapping("/foo")} is equivalent to * {@code @RequestMapping(path="/foo")}. * <p><b>Supported at the type level as well as at the method level!</b> * When used at the type level ...
Spring02
1. 组件扫描首先,必须让Spring扫描组件所在的包,并且,组件类的声明之前必须添加@Component注解!
其实,除了@Component注解以外,还可以使用以下注解实现同样的效果:
@Controller:推荐添加在控制器类之前;
@Service:推荐添加在业务类之前;
@Repository:推荐添加在处理持久层的类之前.
以上4个注解在Spring框架的作用领域中,效果是完全相同的,用法也完全相同,只是语义不同。
在使用组件扫描时,还可以自定义某个类,作为配置类,在这个类的声明之前使用@ComponentScan注解来配置组件扫描的包:
12345678package cn.tedu.spring;import org.springframework.context.annotation.ComponentScan;@ComponentScan("cn.tedu.spring")public class SpringConfig {}
后续,程序运行时,就需要加载这个配置类:
12AnnotationConfigApplica ...
Spring03
1. 通过Environment读取.properties配置文件假设在src/main/resources下存在jdbc.properties文件,并且,在该文件中存在若干条配置信息,如果需要读取该文件中的配置信息,可以先创建某个类,在类中声明Environment接口类型的对象,通过自动装配的方式为该类型对象注入值:
1234567891011121314151617181920212223package cn.tedu.spring;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.annotation.PropertySource;import org.springframework.core.env.Environment;import org.springframework.stereotype.Component;@Component@PropertySource("classpath:jdbc.pr ...
SpringMVC01
1. SpringMVC框架的作用MVC = Model(数据模型) + View(视图) + Controller(控制器)
SpringMVC框架主要解决了接收请求与处理响应的问题,也可以认为是解决了V-C交互的问题,与M其实没有关系。
在传统的Java EE的开发模式下,可能存在Servlet组件数量太多的问题,会导致项目的管理难度太大,且运行时,会有大量的Servlet对象长期占用内存的问题!
另外,传统的Java EE开发模式下,数据的处理过程中代码量相对较大,而SpringMVC非常大极度的简化了开发量!
2. SpringMVC HelloWorld2.1. 案例目标最终程序运行后,打开浏览器,输入http://localhost:8080/项目名/hello.do即可看到自定义输出的内容。
2.2. 在Eclipse中添加Server打开Eclipse的Servers面板,添加Tomcat,当添加成功后,在Eclipse的项目列表中,会出现Servers项目,在需要使用Tomcat时,必须保证该项目是存在且打开的状态。
2.3. 创建项目创建Maven Pro ...
Spring01
2. Spring框架的作用Spring框架的主要作用是创建对象和管理对象。
创建对象:类似于User user = new User();
管理对象:随时可以通过Spring框架获取对象,甚至Spring框架还能够帮我们为对象的属性进行赋值等。
3. 通过Spring框架创建对象,并获取对象在Eclipse中创建Maven Project,在创建过程中勾上Create a simple project,Group Id填为cn.tedu,Artifact Id填为spring01。
如果某个项目不会被其它项目所使用,只需要保证自身能独立运行,其实Group Id和Artifact Id的值是多少,并不重要。
创建成功后,先在pom.xml中添加以上配置:
12345<properties> <java.version>1.8</java.version> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.targe ...
测试重新发布Hexo博客2
测试 Hello,Hexo!
Update!
222222222222222222222222!