程序中数据库的操作历史和对数据库操作的实体类注意事项

稍微了解一下程序中数据库操作历史吧!

1.首先是JDBC连接

2.c3p0

3.JPA

JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中.

4.hibernate

实现了全自动的ORM(对象关系映射)

  1. 数据持久化:用户只需要操作对象即可,内部将对象最终转化为sql.
  2. 结果集映射:将sql执行后的结果自动的映射为对象 

 缺点:

  1. 耗费内存
  2. 会形成冗余的sql,执行的效率较低
  3. 如果是关联查询,则需要冗余的配置,同时需要学习hsql

5.Mybatis

以半自动的ORM的方式操作数据库

  1. sql语句需要自己手写
  2. 能够实现结果集映射.

6.通用Mapper等

  特点:基于Mybatis的,实现类单表的orm自动映射.

  以面向对象的方式操作单表.

  我们重点了解一下通用mapper,假设你们都会Mybatis

  通用Mapper底层原理

  1. 1.  定义公共的接口方法

    包含了单表操作的全部方法.CRUD等操作

  1. 将接口方法最终转为Sql语句

    例子:以新增为例

    Sql:  insert into 表名(字段名称) values(值….)

  1. 3.  将对象与表一一映射

对   象名称{对象的属性} >>>>> 表名(字段….)

  1. 最终形成sql

    Sql:insert into 表名(字段…) values(对象的属性值…….)

  使用通用Mapper对数据库进行操作,要对实体类进行一些操作:

  1.要在实体类 名上加上@Table注解,并加上表名,还要定义主键,以及自增@GeneratedValue(Strategy=GenerationType.IDENTITY)

  如果表不自增的话,就不要加@GeneratedValue(Strategy=GenerationType.IDENTITY)了

  

  2.定义操作数据库的Dao层,继承SysMapper<Item>,这里要引入通用mapper的.jar依赖。只能进行普通的增删改查

  复杂的话,还是自己写sql语句吧!

  

  

<!-- 通用Mapper -->

<dependency>

<groupId>com.github.abel533</groupId>

<artifactId>mapper</artifactId>

<version>${mapper.version}</version>

</dependency>

 

原文地址:https://www.cnblogs.com/l-x-x-y-d-j/p/10240932.html

时间: 2024-10-05 04:59:23

程序中数据库的操作历史和对数据库操作的实体类注意事项的相关文章

asp.net MVC中控制器获取表单form提交的数据之实体类数据

第一次写记录文章,难免有不足之处:欢迎指出. 1.新建一个mvc项目如: 2.新建一个Test.cs 注意get,set方法不能简写 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 using System; using System.Collections.Generic; using System.Linq; usi

从数据库读取数据后利用反射为对应的实体类的属性赋值

1.连接数据库并关闭连接(jdbctools.java) package com.xiaojie.dao; import java.io.IOException; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import javax.sql.DataSource; import com.mchange.

当Json数据中的key为Java关键字时,在定义实体类的时候不能对该字段进行声明,所以需要对字段进行特殊处理

使用Gson解析 在与Java关键字冲突的字段加上@SerializedName注解 @SerializedName("abstract") private String abstractX; 使用Jackson解析 在与Java关键字冲突的字段加上@JsonProperty注解 @JsonProperty("abstract") private String abstractX; 原文地址:https://www.cnblogs.com/xiaohan666/p/

在Android程序中使用已有的SQLite数据库

已经将这篇文章迁移至 Code问答,你也能够到这里查看这篇文章,请多多关注我的新技术博客CodeWenDa.com 在中文搜索中,没有找到一篇比較好的关于怎样在Android应用中使用自己事先创建好的数据库的文章,于是在谷歌上找到这篇英文文章,依照它的步骤,測试成功.决定把这篇文章大致的翻译一下,想看原文的能够点击这里:http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/ .

在 Android 应用程序中使用 SQLite 数据库以及怎么用

part one : android SQLite 简单介绍 SQLite 介绍 SQLite 一个非常流行的嵌入式数据库.它支持 SQL 语言,而且仅仅利用非常少的内存就有非常好的性能.此外它还是开源的,不论什么人都能够使用它.很多开源项目((Mozilla, PHP, Python)都使用了 SQLite. SQLite 由下面几个组件组成:SQL 编译器.内核.后端以及附件.SQLite 通过利用虚拟机和虚拟数据库引擎(VDBE).使调试.改动和扩展 SQLite 的内核变得更加方便. 图

[渣译文] 使用 MVC 5 的 EF6 Code First 入门 系列:MVC程序中实体框架的Code First迁移和部署

这是微软官方SignalR 2.0教程Getting Started with Entity Framework 6 Code First using MVC 5 系列的翻译,这里是第五篇:MVC程序中实体框架的Code First迁移和部署 原文:Code First Migrations and Deployment with the Entity Framework in an ASP.NET MVC Application 译文版权所有,谢绝全文转载--但您可以在您的网站上添加到该教程的

SQLite在Android程序中的使用方法,SQLite的增删查改方法

Sqlite: 1.一款用来实现本地数据存储的轻量级数据管理工具,是众多用来实现数据库管理的工具之一. 2.Android已经将SQLite的代码功能吸收在它的系统中,我们可以直接在Android程序中使用SQLite的语句来创建数据库,并实现数据库的增删查改 SQLite的简单使用方法: 如何获得一个数据库的class模板,并设定数据库里的数据结构: 自己新建一个类,继承SQLiteOpenHelper,并重写构造方法,oncreate(),onUpgrade() 自定义类的代码实现方法和构造

spring boot: spring-data-jpa (Repository/CrudRepository) 数据库操作, @Entity实体类持久化

SpringBoot实现的JPA封装了JPA的特性, Repository是封装了jpa的特性(我是这么理解的) 1在pom.xml引入mysql, spring-data-jpa依赖 2.在src/main/resource/下新建applicatoin.properties配置文件,并配置数据库连接 3.在application.properties配置jpa配置信息 4.编写实例 热部署pom.xml配置 <!-- spring boot devtools 热部署 --> <dep

Mybatis中实体类属性与数据库列表间映射方法介绍

           这篇文章主要介绍了Mybatis中实体类属性与数据列表间映射方法介绍,一共四种方法方法,供大家参考.         Mybatis不像Hibernate中那么自动化,通过@Column注解或者直接使用实体类的属性名作为数据列名,而是需要自己指定实体类属性和数据表中列名之间的映射关系,这一点让用惯了Hibernate的人很不习惯,所幸经过探索找到了建立映射关系的几种办法,其中总也有比较简单的. 首先定义一个实体类User,如下: public class User { pr