mybatis学习笔记(day2)
mybatis学习day2SqlSession位于sqlsessionfactory中 是 会话工厂的一部分 我们可以创建一个seesion来进行提交、回滚操作。
SqlSessionFactoryBuilder
通过SqlSessionFactoryBuilder创建会话工厂SqlSessionFactory将SqlSessionFactoryBuilder当成一个工具类使用即可,不需要使用单例管理SqlSessionFactoryBuilder。在需要创建SqlSessionFactory时候,只需要new一次SqlSessionFactoryBuilder即可。
SqlSessionFactory
通过SqlSessionFactory创建SqlSession,使用单例模式管理sqlSessionFactory(工厂一旦创建,使用一个实例)。将来mybatis和spring整合后,使用单例模式管理sqlSessionFactory。
SqlSession
SqlSession是一个面向用户(程序员)的接口。SqlSession中提供了很多操作数据库的方法:如:sel ...
mybatis学习笔记(day1)
mybatis学习笔记(day1)为啥不用JDBC?首先我们知道jdbc的步骤是:
加载数据库驱动
创建并获取数据库链接
创建jdbc statement对象
设置sql语句
设置sql语句中的参数(使用preparedStatement)
通过statement执行sql并获取结果
对sql执行结果进行解析处理
释放资源(resultSet、preparedstatement、connection)
我们可以看出,我们频繁的对数据库进行连接和关闭操作(当我们打开datagrip的时候,也要等一下数据库才出来),这很不效率。
设想:使用数据库连接池管理数据库连接
什么是数据库连接池?
数据库连接池是一个存储已经建立的数据库连接并使其可以重复使用的技术,可以减少程序每次建立数据库连接所花费的时间。
使用数据库连接池可以将已经建立的连接保存在连接池中,当有新的数据请求到来时,可以从连接池中获取已创建的空闲连接来使用,从而避免了频繁创建和释放数据库连接的操作,提高了系统的性能,减少了系统的开销。
将sql直接编入java语言中,其实非常不安全而且给维护造成很大影响。
设想:将sql语句配 ...
哲学家就餐问题
哲学家就餐问题123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081import java.util.concurrent.Semaphore;/** * Todo: 哲学家就餐问题 * @Author Wislist */class Philosopher implements Runnable { private int id; private Semaphore[] forks; public Philosopher(int id, Semaphore[] forks) { this.id = id; this.forks = forks; } @Override public void run() { try ...
进程 线程 多线程与多核 线程的生命周期 协程
进程 线程 多线程与多核 线程的生命周期 协程进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。
进程是任务调度的最小单位,每个进程有各自独立的一块内存,使得各个进程之间内存地址相互隔离。
线程是程序执行中一个单一的顺序控制流程,是程序执行流的最小单元,是处理器调度和分派的基本单位。
如上图,在任务管理器的进程一栏里,有道词典和有道云笔记就是进程,而在进程下又有着多个执行不同任务的线程。
进程与线程的区别前面讲了进程与线程,但可能你还觉得迷糊,感觉他们很类似。的确,进程与线程有着千丝万缕的关系,下面就让我们一起来理一理:
线程是程序执行的最小单位,而进程是操作系统分配资源的最小单位;
一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路线;
进程之间相互独立,但同一进程下的各个线程之间共享程序的内存空间(包括代码段、数据集、堆等)及一些进程级的资源(如打开文件和信号),某进程内的线程在其它进程不可见;
调度和切换:线程上下文切换比进程上下文切换要快得多。
比较让人在意的一点是:现在的cp ...
无题
Mysql概念复习数据是信息的具体变现形式
数据是信息的符号表示
信息是数据的内涵,是对数据的语义解释
信息=数据+语义
数据库是存储在计算机内、有组织的、可共享的数据和数据对象的集合这种集合按一定的数据模型组织、描述并长期存储,同时能以安全和可靠的方法进行数据的检索和存储
三级模式结构:外模式() 模式(全体数据) 外模式(部分数据的逻辑结构和特征的描述)
数据库技术发展:人工(没设备没软件不共享不独立)
文件系统(以文件形式来保存;文件系统管理;有一定独立性;有一定共享性)
数据库系统(结构化的数据及其联系的集合;数据共享性高、冗余度低;数据独立性高;有统一的数据管理和控制功能)
用户:最终用户(sb) 应用程序员(程序员)数据库管理员(大佬)
SQL语句
SQL语句基础0.1 连接数据库
0.2 创建数据库、添加引擎、设置编码格式注意:每个数据库版本可能所支持的引擎有所不同
123create database if not EXISTS db_studydefault character set utf8default collate utf8_general_ci;
0.3 创建数据表123456789101112USING database(数据库名)CREATE TABLE --数据表名--( 学号 CHAR(4) PRIMARY KEY , 姓名 varchar(20) NOT NULL , 性别 varchar(5) DEFAULT '男' CHECK ( 性别='男' || 性别='女' ), 出生日期 date not null , 专业 varchar(20) not null , 院系 varchar(20) not null , 联系电话 text)
一、查询数据1.1 基本查询要查询数据库表的数据
123SELEC ...