摘要:mybatis延迟加载 延迟加载: 就是在需要用到数据时才进行加载,不需要用到数据时就不加载数据。延迟加载也称懒加载. 好处:先从单表查询,需要时再从关联表去关联查询,大大提高数据库性能,因为查询单表要比关联查询多张表速度要快。 坏处: 因为只有当需要用到数据时,才会进行数据库查询,这样在大批量数据
阅读全文
摘要:mybatis动态SQL 简化SQL Sql 中可将重复的 sql 提取出来,使用时用include 引用即可,最终达到 sql 重用的目的。 <!-- 抽取重复片段--> <sql id="selectAll" > select * from user </sql> <!--使用重复片段--> <
阅读全文
摘要:mybatis事物控制 在 JDBC中我们可以通过手动方式将事务的提交改为手动方式,通过 setAutoCommit()方法就可以提交。由于Mybatis框架是对JDBC的封装,所以Mybatis框架的事务控制方式,本身也是用JDBC的setAutoCommit()方法来设置事务提交方式的。 ses
阅读全文
摘要:主配置文件放置在resources中: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd
阅读全文
摘要:创建maven工程 mybatis-anno/ |-src/ | |-main/ | | |-java/ | | |-resources/ | |-test/ |-pom.xml mybatis-anno/:项目目录 mybatis-anno/src/:java类路径 mybatis-anno/sr
阅读全文
摘要:创建maven工程 mybatis-xml/ |-src/ | |-main/ | | |-java/ | | |-resources/ | |-test/ |-pom.xml mybatis-xml/:项目目录 mybatis-xml/src/:java类路径 mybatis-xml/src/ma
阅读全文
摘要:mybatis概念 MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old
阅读全文
摘要:Python Python是动态语言。 Python是解释型语言。 python是面向过程语言,也是面向对象语言。 交互式编程 交互式编程不需要创建脚本文件,是通过Python解释器的交互模式进行编写代码。 #Linux的交互式编程启动方式: 在Linux命令行输入:$ python #Window
阅读全文
摘要:进程和线程概念 什么是进程?or 线程? 进程:一个任务就是一个进程,一个进程可以有多个线程 '线程:把进程内的子任务称为线程,线程是进程的最小单元。 什么是同步?or 异步? 同步:就是一个任务的完成需要依赖另外一个任务时,只有等待被依赖的任务完成后,依赖的任务才能算完成,这是一种可靠的任务序列。
阅读全文
摘要:urllib库简介 urllib提供了一系列用于操作URL的功能。 urllib库用于操作网页 URL,并对网页的内容进行抓取处理。 urllib 包 包含以下几个模块: urllib.request - 打开和读取 URL。 urllib.error - 包含 urllib.request 抛出的
阅读全文
摘要:contextlib模块简介 contextlib模块:实现上下文管理。 在Python中实现上下文管理是使用with关键字,但是默认只能实现特定的上下文管理。 其时,只要正确的实现__enter__()和__exit__()魔术方法,就可以实现上下文管理。 class Context: def _
阅读全文
摘要:collections模块简介 collections是Python内建的一个集合模块,提供了许多有用的集合类。 使用:import collections collections模块方法 nametuple(typename, field_names, *, rename=False, defau
阅读全文
摘要:切片(Slice) 切片:获取 字符串|列表|元组 的一部分 切片的表示:str[first:end],list[first:end],tuple[first:end] 切片的功能:获取索引从first到end之间的元素,包括左边不包括右边 副本:使用 [:] 获取原始的副本,对副本的操作不影响原始
阅读全文
摘要:语法错误 SyntaxError:invalid syntax 异常 运行检测到的错误称为异常 NameError:命名错误 TypeError:类型错误 ZeroDivisionError:被除数为0错误 ValueError:数值错误 异常处理 try|except|else|finally|r
阅读全文
摘要:文件读写 打开和关闭文件 一般并不使用此种方法打开和关闭文件,而是使用 with open(file_name,'r|w|a') as f: 打开文件 open():只有在使用python内置的open()函数打开一个文件,创建一个file对象后,相关的方法才可以调用它进行读写操作。 file ob
阅读全文
摘要:模块的概念 标准模块格式 # !/usr/bin/env python3 # -*- coding: utf-8 -*- 'a test module' __author__ = 'name' 安装第三方模块 pip:是python包管理工具。 安装第三方模块:使用包管理工具 pip pip的安装(
阅读全文
摘要:面向对象技术简介 面向对象编程:(OOP) 类(Class):用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。 实例(Instance):实例是根据类创建出来的一个个具体的“对象”,每个对象 都拥有相同的方法,但各自数据可能不同。 数据封装:直接
阅读全文
摘要:函数 定义: ①函数是组织好的,可以重复使用的,用来实现单一,或相关联功能的代码段 ②函数能提高应用的模块性,和代码的重复利用率 格式: ①函数代码块使用def关键字开头,后接函数标识符名称和圆括号() ②任何传入参数和自变量必须放在括号中间。圆括号之间可以用于定义参数。 ③函数的第一行语句可以选择
阅读全文
摘要:循环类型 循环类型 描述 while 在给定的判断条件为True时执行循环体,否则退出循环 for 重复执行语句 嵌套 可以在while中嵌套for while循环 while 判断条件 : 执行语句 #while循环流程 首先判断判断条件是否为True,如果为True则执行执行语句,否则跳出循环
阅读全文
摘要:基本概念 python条件语句是通过一条或者多条语句的执行结果(True|False)来决定执行的代码块 非0和非空(null)的值为True;0和null为False 基本语法 if if 判断条件 : if成立执行语句 #流程解释: 判断条件为True时,执行if成立执行语句 if-else i
阅读全文
摘要:字典的概念 字典是Python的映射类型,使用键-值对存储。 字典使用 {} 表示 创建字典:dict_name={} 字典的键必须为不可变类型:字符串,数字,元组 字典中键和值使用 :隔开 字典中属性(键值对)之间使用,分隔开。 字典与列表的区别: 字典是无序的。列表是有序的。 字典使用键值对存储
阅读全文
摘要:集合的概念 集合的元素不能重复。 集合使用 set() 表示 或者 set_name = {} 创建集合:set([list_name][dict_name][tuple_name]) 创建集合:set_name={element1,element2,....} 集合元素的访问 集合元素的添加 se
阅读全文
摘要:元组的概念 元组是另一种有序列表 元组是列表的不可变形式 元组一旦初始化就不可修改 元组使用 ()表示 创建元组:tuple_name=() 定义只有一个元素的元组:tuple_name=(2,) 元组的访问 只是不能修改元组,但列表的其他函数获取都可以使用: 只要不影响源元组的函数都可以使用: t
阅读全文
摘要:列表的概念 列表是一种有序和可更改的集合。 列表可以随时添加和删除其中的元素。 列表允许重复的成员。 列表使用 []表示 列表的第一个元素的索引为0,最后一个元素的索引为-1。 创建列表:list_name = [] 列表的访问 列表切片 list_name[start:end:step] 获取列表
阅读全文
摘要:字符串 字符串是以""|''括起来的文本。 字符串的创建:str_name = 'str'|"str" # 字符串:a = 'abgah'b = "abgah"c = """abgah"""d = '''abgah'''e = "f'aaf'"f = r'aca\naf'g = 'aca\\naf'
阅读全文
摘要:类型转换 int(),float(),bool(),str(),tuple(),set(),list(),dict():不带参数创建对应类型的空数据类型对象。 转换为整数型式 int(x,base=10):将一个字符串或者数字 >整型。 将一个数转为整数,只保留小数的整数部分,即向下取整。 如果in
阅读全文
摘要:运算符 表达式:表达式是操作符和值的结合。如:2+3,2,3都是值,而+是操作符。 数字表达式:1,2,3 字符表达式:'a','aaa' 运算表达式:1+2,1*2 print(1)print('aa')print(1+2) 算数运算符 +: 加法运算。 字符串,列表,元组拼接。 print("加
阅读全文
摘要:time模块 time模块:格式化时间 时间间隔:以 秒为单位的浮点数 时间戳:以自从 1970年1月1日午夜 经过多长时间来表示。 时间戳最适合存储,因为时间戳确定了,时区也就确定了。 导入time模块:import time time模块常用方法 time.time():获取当前时间戳。 imp
阅读全文
摘要:os模块简介 该模块提供了一种可移植的方式来使用依赖于操作系统的功能。 os模块是python内建模块,只需要使用import语句导入即可:import os os模块方法 os.getcwd():获取当前目录。 import os # 获取当前所在的目录 print(os.getcwd()) os
阅读全文
摘要:random模块简介 random模块:该模块实现伪随机数生成器。 random模块是python内建模块,只需要使用import语句导入即可:import random random模块常用函数 random.random():用于生成一个0到1的随机浮点数:0<= n < 1.0 import
阅读全文
摘要:re模块简介 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符是否与某种模式匹配。 Python1.5版本提供了re模块,该模块提供所有的正则表达式功能 使用re模块,首先导入re模块:import re 正则表达式模式(pattern) 模式描述例子是否重点 ^ 匹配字符串的开头。 √
阅读全文
摘要:TCP/IP简介 TCP/IP:是供已连接因特网的计算机进行通信的通信协议。 TCP/IP 指传输控制协议/网际协议 (Transmission Control Protocol / Internet Protocol)。 TCP/IP 定义了电子设备(比如计算机)如何连入因特网,以及数据如何在它们
阅读全文
摘要:JSON简介 JSON: JavaScript Object Notation(JavaScript 对象表示法) JSON 是存储和交换文本信息的语法,类似 XML。 JSON 比 XML 更小、更快,更易解析 JSON 指的是 JavaScript 对象表示法(JavaScript Object
阅读全文
摘要:HTTP简介 HTTP协议:(HyperText Transfer Protocol)超文本传输协议。 是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。 HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。 HTTP工作原理:H
阅读全文
摘要:copy模块简介 copy模块:Python中的赋值语句不复制对象,它们在目标和对象之间创建绑定。对于可变或包含可变项的集合,有时需要一个副本,以便可以更改一个副本而不更改另一个副本。这个模块提供了一般的浅层和深层复制操作。 copy模块是python内建模块,只需要使用import语句导入即可:i
阅读全文
摘要:sys模块简介 sys模块:该模块提供对解释器使用或维护的某些变量以及与解释器强烈交互的功能的访问。 sys模块是python内建模块,只需要使用import语句导入即可:import sys 如果想要调用sys模块属性,只需要在sys模块方法前添加sys前缀就可以调用指定方法:sys.name s
阅读全文