数据库对象

java基础(29):JDBC、DBUtils

淺唱寂寞╮ 提交于 2019-12-01 07:13:07
1. JDBC 1.1 JDBC 概述 JDBC ( Java Data Base Connectivity,java 数据库连接)是一种用于执行 SQL 语句的 Java API ,可以为多种关系数据库提供统一访问,它由一组用 Java 语言编写的类和接口组成。是 Java 访问数据库的标准规范 JDBC 提供了一种基准 , 据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。 JDBC 需要连接驱动,驱动是两个设备要进行通信,满足一定通信数据格式,数据格式由设备提供商规定,设备提供商为设备提供驱动软件,通过软件可以与该设备进行通信。 今天我们使用的是 mysql 的驱动 mysql-connector-java-5.1.39-bin.jar 1.2 JDBC 原理 Java 提供访问数据库规范称为 JDBC ,而生产厂商提供规范的实现类称为驱动。 JDBC 是接口,驱动是接口的实现,没有驱动将无法完成数据库连接,从而不能操作数据库!每个数据库厂商都需要提供自己的驱动,用来连接自己公司的数据库,也就是说驱动一般都由数据库生成厂商提供。 1.3 案例分析 昨天我们学习了 sql 语句的使用,并创建的分类表 sort ,今天我们将使用 JDBC 对分类表进行增删改查操作。 #创建数据库 create database day22_JDBC; #使用数据库 use

hibernate学习笔记3

旧街凉风 提交于 2019-12-01 05:55:31
13 hibernate 核心 表和表的关系 : 常见有 7 中关系: 单项 关系一下四种 1-1 外键 1-1 ,主键 1-1 的关系 1-n n-1 n-n 多项 关系:互相使用; 1-1 1-n ( n-1 ) n-n 以下有两个表, user_info 、和 login 连个表。表和字段如下; User_info Uid truename phone sex Longin Lid longinname password uid 这里建立了 user 类和 longin 类,同事 new 了 user User 表中不含 login 字段,但是 longin 表中有 user_info 字段,但是在 login 的类中加入了 user 应用; 注: a 在 单项外键 1-1 中第一个表的主键是另外一个表的外键,所以在另外一个表里,这个外键不受约束可以随便写。为了达到主外键一一对应就用到 unique 写法如下 <many-to-one name="user" column="uid" not-null="true" class="User" unique="true" cascade="all"> </many-to-one> 当把配置文件和类写好就可以自动生成数据库连接表了; 保存的时候: 这里先将 user 先存入进去,因为只有主键先获得持久化才能跟其他表有关系

Django之ORM操作.md

旧时模样 提交于 2019-12-01 05:00:48
1.ORM简介 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动 ORM是“ 对象-关系-映射 ”的简称。 类对象--->sql--->pymysql--->mysql服务端--->磁盘,orm其实就是将类对象的语法翻译成sql语句的一个引擎 2.字段,类型 常用字段 AutoField 自增的整形字段,必填参数primary_key=True,则成为数据库的主键。无该字段时,django自动创建。 一个model不能有两个AutoField字段。 IntegerField 一个整数类型。数值的范围是 -2147483648 ~ 2147483647。 CharField 字符类型,必须提供max_length参数。max_length表示字符的长度。 DateField 日期类型,日期格式为YYYY-MM-DD,相当于Python中的datetime.date的实例。 参数: auto_now:每次修改时修改为当前日期时间。 auto_now_add:新创建对象时自动添加当前日期时间。 auto_now和auto_now_add和default参数是互斥的,不能同时设置。

jdbc的缺点和mybatis的优点

时间秒杀一切 提交于 2019-12-01 04:28:01
1、 JDBC工作 我们平时使用jdbc进行编程,大致需要下面几个步骤: 1,使用jdbc编程需要连接数据库,注册驱动和数据库信息 2,操作Connection,打开Statement对象 3,通过Statement对象执行SQL,返回结果到ResultSet对象 4,使用ResultSet读取数据,然后通过代码转化为具体的POJO对象 5,关闭数据库相关的资源 2、jdbc的缺点 (1)需要频繁的创建数据库连接 (2)涉及到的增删改查等功能需要在各个java文件中编写大量代码 (3)对于底层事务、数据类型转换等都需要手动处理,又是各种代码 3、mybatis优点 (1)封装了jdbc对数据库的各种操作,减少代码 (2)增加了连接池、一、二级缓存 (3)可以自动生成sql语句 来源: https://www.cnblogs.com/saifei1125/p/11653928.html

Hibernate 映射文件配置

随声附和 提交于 2019-12-01 03:19:51
对象关系的映射是用一个XML文档来说明的。映射文档可以使用工具来生成,如XDoclet,Middlegen和AndroMDA等。 下面从一个映射的例子开始讲解映射元素,映射文件的代码如下。 Java代码 <?xml version= "1.0" ?> <!-- 所有的XML映射文件都需要定义如下所示的DOCTYPE。 Hibernate会先在它的类路径(classptah)中搜索DTD文件。 --> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" > <!-- hibernate-mapping有几个可选的属性: schema属性指明了这个映射的表所在的schema名称。 default -cascade属性指定了默认的级联风格 可取值有 none、save、update。 auto- import 属性默认让我们在查询语言中可以使用非全限定名的类名 可取值有 true 、 false 。 package 属性指定一个包前缀。 --> <hibernate-mapping schema= "schemaName" default -cascade=

Oracle体系结构和用户管理

南笙酒味 提交于 2019-12-01 02:14:51
通过博文 部署Oracle 12c企业版数据库 已经可以部署Oracle数据库了,本篇博文主要介绍Oracle的体系结构,包括存储结构、内存结构和进程结构进行初步了解。对进一步学习Oracle数据库有很大的帮助。 博文大纲: 一、Oracle体系结构 1.Oracle体系结构概述 2.Oracle服务器 3.Oracle存储结构 4.Oracle内存结构 5.Oracle进程结构 二、CDB与PDB的基本操作 三、用户管理 四、数据库权限管理 五、导入测试数据 一、Oracle体系结构 数据库的体系结构是指数据库的组成、工作过程、以及数据库中数据的组织与管理机制,要了解Oracle数据库的体系结构,必须理解Oracle系统的主要组件和重要概念。 1.Oracle体系结构概述 Oracle体系结构包含一系列组件,如图: 图中显示了Oracle体系结构中的主要组件,包括实例、用户进程、服务器进程、数据文件及其他文件,如参数文件、口令文件和归档日志文件等。 从图中可以看出,实例和数据库是Oracle数据库体系结构的核心组成部分,也是最重要的两个概念。 作为一个DBA管理者,维护实例和数据库本身的正常运行是最基本的技能。 (1)实例 Oracle实例是后台进程和内存结构的集合,必须启动实例才能访问数据库中的数据。Oracle实例启动时,将分配一个系统全局区(SGA

[C#]记录一次异常排查,关于using语法、sqlserver数据库session、DBHelper类

孤街浪徒 提交于 2019-12-01 02:06:55
最近在做一个基于asp.net和sqlserver的网站项目,发现网站运行一段时间之后,会报异常: 超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小 这异常明显是sqlserver数据库连接池超出了默认大小,估计是代码哪里忘了释放DB链接了。 排查数据访问层代码跟DBHelper,搞了半天解决了。 总结一点东西,记录一下。 DBHelperA代码: public class DBHelperA { public string connStr = "你的sqlserver数据库连接"; public IDbConnection _conn; public IDbConnection Conn { get { if (_conn == null) { _conn = new SqlConnection(connStr); } return _conn; } } } ClassA代码: public class ClassA :DBHelperA { public void DoItFirst() { using (Conn) { if (Conn.State == ConnectionState.Closed) { Conn.Open(); Console.WriteLine(Conn.GetHashCode()); } } }

MySQL服务端SQL

独自空忆成欢 提交于 2019-12-01 01:54:04
SQL种类主要分为以下四类: DDL:数据库(对象)定义语言 。 (Data Definition Languag) DCL:数据库控制语言(grant revoke)(Data Control Language) DML:数据(行)操作语言(update delete insert)(Data Manipulation Language) DQL: 数据查询语言(show、select) (Data Query Language) DDL操作: 对象:包括表和库 库 来源: https://www.cnblogs.com/yang-ning/p/11646956.html

Mybatis

ぃ、小莉子 提交于 2019-12-01 01:21:02
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/a745233700/article/details/80977133 1、什么是Mybatis? (1)Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接编写原生态sql,可以严格控制sql执行性能,灵活度高。 (2)MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO映射成数据库中的记录,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。 (3)通过xml 文件或注解的方式将要执行的各种 statement 配置起来,并通过java对象和 statement中sql的动态参数进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将结果映射为java对象并返回。(从执行sql到返回result的过程)。 2、Mybaits的优点: (1)基于SQL语句编程,相当灵活,不会对应用程序或者数据库的现有设计造成任何影响,SQL写在XML里,解除sql与程序代码的耦合,便于统一管理;提供XML标签,支持编写动态SQL语句,并可重用。 (2

MongDB

混江龙づ霸主 提交于 2019-12-01 01:18:21
1.什么是MongoDB MongoDB是一个文档数据库,提供好的性能,领先的非关系型数据库。采用BSON存储文档数据。BSON()是一种类json的一种二进制形式的存储格式,简称Binary JSON.相对于json多了date类型和二进制数组。 2.MongoDB的优势有哪些 面向文档的存储:以 JSON 格式的文档保存数据。 任何属性都可以建立索引。 复制以及高可扩展性。 自动分片。 丰富的查询功能。 快速的即时更新。 3 什么是数据库   数据库可以看成是一个电子化的文件柜,用户可以对文件中的数据运行新增、检索、更新、删除等操作。数据库是一个所有集合的容器,在文件系统中每一个数据库都有一个相关的物理文件。 4.什么是集合(表) 集合就是一组 MongoDB 文档。它相当于关系型数据库(RDBMS)中的表这种概念。集合位于单独的一个数据库中。一个集合内的多个文档可以有多个不同的字段。一般来说,集合中的文档都有着相同或相关的目的。 5 什么是文档(记录)   文档由一组key value组成。文档是动态模式,这意味着同一集合里的文档不需要有相同的字段和结构。在关系型数据库中table中的每一条记录相当于MongoDB中的一个文 6 MongoDB和关系型数据库术语对比图 7.什么是非关系型数据库   非关系型数据库的显著特点是不使用SQL作为查询语言