MyBatis的简单入门

1、什么是MyBatis,解决什么问题?

  1. 如雷贯耳的SSM框架集最后的M指的就是MyBatis
  2. 简单一点说,MyBatis就是能让你用最简单的方法操作数据库;
  3. 再深入一点讲,MyBatis将以前的jdbc操作进行了再次封装;
  4. 简单到什么程度了呢?简单到了sql语句从代码中分离写到配置文件中就行了;

2、如何使用MyBatis

  1. 操作数据库是在Dao层,即各种XxxDao的接口+实现类,MyBatis只需要我们定义接口,他能帮我们实现;
  2. 首先要理解MyBatis的思路,SqlSessionFactoryBuilder–>SqlSessionFactory–>SqlSession
  3. 有了[……]

    继续阅读

IDEA中Maven项目不生成class文件的问题

问题描述:

有一个很奇怪的问题困扰了一段时间,maven项目中使用命令可以正常build,但点IDEA上面绿色三角形就不能正常生成class文件。在以下情形下会发生:

  1. 手动创建Maven项目,选择webapp的模板,没有问题,但不选模板就不行;
  2. push到git上面,其他终端pull下来的项目打开就不行;

其实问题现象可能会有很多种,但根本原因生成的target目录下没有classes目录及class文件,这一点还不容易发现,因为你要删除target目录新生成的目录下没有classes目录才会注意到这一点。

问题分析:

  1. 点击IDEA工具栏上的绿色小三角形编译运行是为了编译、运行[……]

    继续阅读

最简单的HTTP通讯过程

HTTP报文遵循ABNF(一种形式化的语法表示方式),空格或回车换行都有严格的规定,以此保证HTTP协议的实现

1、最简单的HTTP请求报文

  • 请求行:方法空格URI空格HTTP/*.*回车换行
  • 请求头(可选,以键值对的形式)
  • 空行(回车换行,这一个空行是有实际意义的,代表头与体的分隔,必须要有):回车换行
  • 请求体(可选)
GET /hello/world HTTP/1.1
Host: localhost:8080

2、最简单的HTTP响应报文

  • 响应行:HTTP/*.*空格状态码空格状态描述(可选)回车换行
  • 响应头(可选,以键值对的形式)
  • 空行[……]

    继续阅读

TCP三次握手与四次挥手

说明

  1. TCP在建立连接与断开连接时报文头部的标志位与序号值分别是多少呢?
  2. 利用Java的Socket对象分别实现客户端与服务端,对进通讯过程进行数据报文捕获;
  3. 分别研究两种情况,一种是服务器与客户端都在本机,另一种是分别位于两台机器上;

Java示例代码

Client

// package com.yusian;

import java.io.*;
import java.net.Socket;
import java.util.Scanner;

public class Client {
    public static void main(String[] args) {[......]

继续阅读