mapper

使用NHibernate 3.2实现Repository(ORuM)(三)NHibernate、Mapping、Mapping-By-Code

此生再无相见时 提交于 2020-04-04 01:57:38
NHibernate使用时通常是先定义实体类,再为实体类映射数据库关系,NHibernate映射是使用XML文件形式的。 当我们Confrontation NHibernate时Mapping的过程:   解析读取Mapping文件   将Mapping文件反序列化(Deserialize)为XmlDeserialized(就是NHibernate.Cfg.MappingSchema.HbmMapping类)   将HbmMapping类Bind为元数据映射(Mapping-MetaDate),(就是NHibernate.Cfg.Mappings类)   Build SessionFactory NHibernate映射文件生成方式:   手动编写XML方式   工具软件生成   NHibernate.Mapping.Attributes    NHibernate3.2版本集成Mapping-By-Code(代码映射),其设计思想来源于ConfORM,代码整体构思基于"Loquacious"模式,而不是"fluent-interface"。在NHibernate.Mapping.ByCode命名空间下。 Mapping-By-Code(代码映射)与其他映射方式不同,Mapping-By-Code是手动配置实体映射,编译映射并转换为HbmMapping对象

MyBatis自学(3):MyBatis逆向工程

和自甴很熟 提交于 2020-04-04 00:55:08
  什么是Mybatis逆向工程?   可以针对单表自动生成MyBatis执行所需要的代码,包括:Mapper.java,Mapper.xml,实体类。    为什么要使用Mybatis逆向工程?   我们之前说过MyBatis是一个"半自动"的ORM框架,SQL语句需要开发者自定义,这样做的好处是代码更加灵活,缺点是如果参与业务的表太多,每张表的业务都需要自定义SQL,创建实体类,DAO接口,难免会很麻烦。所以我们需要使用逆向工程,让MyBatis自动生成表对应的各种资源,大大减少我们的工作量。    Mybatis逆向工程有什么不足?   逆向工程有它自身的局限性,逆向工程方法只能执行一次,如果再次执行就会重复生成对应的DAO接口,实体类等资源。如果需要对表结构进行修改,那么就必须删除已经生成的所有资源,重新生成一次。    如何使用Mybatis逆向工程?   MyBatis Generator,简称MBG:是一个专门为MyBatis框架开发者定制的代码生成器,可以根据表结构快速生成对应的Mapper.xml,Mapper接口以及实体类。支持基本的CRUD(Create,Read,Update,Delete),但是复杂的SQL语句需要开发者手动编写。   1. 添加依赖jar包到pom.xml文件。 1 <dependency> 2 <groupId>org.mybatis

Mybatis的逆向工程

妖精的绣舞 提交于 2020-04-04 00:54:06
Mybatis的逆向工程可以对数据库进行单表操作,自动生成相应的mapper.java,mapper.xml,相应实体类。 需要导入相应的jar包 先要配置相应的xml文件 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> <generatorConfiguration> <context id="DB2Tables" targetRuntime="MyBatis3"> <!-- 生成时没有注释 --> <commentGenerator> <property name="suppressAllComments" value="true" /> </commentGenerator> <!-- 配置数据库的连接 --> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/student" userId=

SpringBoot集成MyBatis-Plus

老子叫甜甜 提交于 2020-04-02 19:23:42
一、MyBatis-Plus简介: 虽然mybatis可以直接在xml中通过SQL语句操作数据库,很是灵活。但正其操作都要通过SQL语句进行,就必须写大量的xml文件,很是麻烦。mybatis-plus就很好的解决了这个问题。 MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 关于mybatis-plus的更多介绍及特性,可以参考 mybatis-plus官网 。 二、SpringBoot集成MyBatis-Plus: 1、首先要创建一个SpringBoot项目。如何创建请查看《 创建一个SpringBoot项目 》。 2、加入相关的依赖。   正如官方所说,mybatis-plus在mybatis的基础上只做增强不做改变,因此其与spring的整合亦非常简单。只需把mybatis的依赖换成mybatis-plus的依赖,再把sqlSessionFactory换成mybatis-plus的即可。如下: 1 <dependencies> 2 <dependency> 3 <groupId>org.springframework.boot</groupId> 4 <artifactId>spring-boot-starter-web</artifactId> 5 </dependency>

MyBatis基本应用

微笑、不失礼 提交于 2020-04-02 09:25:40
Mybatis(iBatis)简介 : (前身为iBatis)MyBatis是一个可以自定义SQL,存储过程和高级映射的持久层框架。MyBatis消除了几乎所以是JDBC代码和参数的手工设置以及结果集的检索。MyBatis可以使用简单的XML或注解用于配制和原始映射,将接口和JavaPOJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 作用:封装了JDBC操作,简化了数据库的访问 功能如下:——封装了获取连接,执行SQL,释放连接 ——封装了SQL参数设置 ——封装了记录映射成实体对象的过程,实体类的属性名与结果查询结果集ResultSet中列名保持一致 开发者:写SQL和实体类,然后使用SqlSession对象执行sql操作 MyBatis体系结构主要由以下几个关键部分 (1)加载配置 配置有两种形式,一种是XML配置文件,另一种是Java代码的注解。MyBatis将SQL的配置信息加载成为一个个MappdStatement对象( 包括了传入参数映射配置,执行的SQL语句,结果映射配置),并将其存储在内存中。 (2)SQL解析 当API接口层接收到调用请求时,会接收到传入SQL的ID和传入对象(可以是Map,JavaBean或者基本数据类型)MyBatis会根据SQL的ID找到对应的MappedStatement

mybatis逆向工程

送分小仙女□ 提交于 2020-04-01 12:50:18
近日准备着手开发我的个人博客项目,我的需求是一个后台管理系统+前端页面展示。前端主要展示各个分类下的文章,但允许有评论模块。后台管理系统主要功能是对文章的操作,新建、删除、编辑、发布的功能,以及对网站的简单监控,比如说文章访问量、评论条数等。准备按照以下步骤来开始我的个人博客开发。 1.个人博客需求分析 2. 数据库表的设计 3. 网站原型设计 4.接口开发 5.后台管理系统界面开发 6. 后台管理系统接口调试 7. 前台页面展示界面开发 8.前后台联调测试 等它能够在本地跑起来,我再去考虑申请域名相关的吧,现在我还在第2步,感觉任重而道远啊。 需要用到的技术点 1. spring boot+mybatis 主要是后台接口的开发 2.数据库:mysql 存文章信息、日志等; MongoDB 来存登录信息(因为后续可能考虑到要做一个团队间的博客分享,会有多个用户,就把登录信息单独放到mongodb里吧,不过那也是得等我先把个人的做完,再去考虑团队的吧) 3. 页面展示:vue+vuex 毕竟我还是对vue比较熟悉的。个人习惯于用node.js来连mongodb。 4. 因为有文章编辑,需要用编辑器,大概搜索了下拟采用markdown编辑器,但因为我从未用过这个,可能会有点难度,需要去了解下。 目前呢,我到了使用mybatis逆向工程来自动生成相关的mapper、pojo、xml

Linux 挂载磁盘记录

百般思念 提交于 2020-03-28 23:08:11
Linux服务器申请了磁盘之后,用fdisk -l查看资源已经有了: Disk /dev/vdb: 1099.5 GB, 1099511627776 bytes 16 heads, 63 sectors/track, 2130440 cylinders Units = cylinders of 1008 * 512 = 516096 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 但是,df -h查看目录不存在,此时需要挂载。 本例中创建两个目录 /testA 600G /testB 400G 操作如下: 1、pvcreate /dev/vdb 2、vgcreate datavg /dev/vdb 3、lvcreate -n testAlv -L 600G datavg 4、lvcreate -n testBlv -L 400G datavg 5、mkfs.ext4 /dev/mapper/datavg-testAlv 6、mkfs.ext4 /dev/mapper/datavg-testBlv 7、mkdir /testA /testB 8、 mount

Python实现Hadoop MapReduce程序

安稳与你 提交于 2020-03-28 16:23:02
/*--> */ /*--> */ 1.概述 Hadoop Streaming提供了一个便于进行MapReduce编程的工具包,使用它可以基于一些可执行命令、脚本语言或其他编程语言来实现Mapper和 Reducer,从而充分利用Hadoop并行计算框架的优势和能力,来处理大数据。需要注意的是,Streaming方式是 基于Unix系统的标准输入 输出 来进行MapReduce Job的运行,它区别与Pipes的地方主要是通信协议,Pipes使用的是Socket通信,是对使用C++语言来实现MapReduce Job并通过Socket通信来与Hadopp平台通信,完成Job的执行。 任何支持标准输入输出特性的编程语言都可以使用Streaming方式来实现MapReduce Job,基本原理就是输入从Unix系统标准输入,输出使用Unix系统的标准输出。 2. Hadoop Streaming原理 mapper和reducer会从标准输入中读取用户数据,一行一行处理后发送给标准输出。Streaming工具会创建MapReduce作业,发送给各个tasktracker,同时监控整个作业的执行过程。 如果一个文件(可执行或者脚本)作为mapper,mapper初始化时,每一个mapper任务会把该文件作为一个单独进程启动,mapper任 务运行时

Mybatis 源码解析

喜欢而已 提交于 2020-03-28 12:43:13
一、搭建Spring中使用Mybatis环境 工程结构如下图所示 1、引入依赖 <properties> <spring.version>4.1.2.RELEASE</spring.version> </properties> <dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.8</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.2</version> <scope>provided</scope> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.29</version> </dependency> <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring --> <dependency>