POJO (Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称。其中有一些属性及其getter、setter方法的类,没有业务逻辑,有时可以作为VO(value-object)或DTO(Data Transfer Object)来使用。不允许有业务方法,也不能携带connection之类的方法,实际就是普通JavaBeans。POJO类中有属性和get、set方法,但是没有业务逻辑。
参数 useGeneratedKeys ,keyColumn,keyProperty作用和用法
通过自己不断的学习框架以及相关知识的学习,自己学会总结了学习路上遇到的一些问题以及疑惑,自己现在跟着相关的学习资料又进行了一些总结和实践,希望通过自己走过的学习之路能够帮助小伙伴们解决一些学习上问题或者存在的疑问。
一个并没有行业经验积累的软件公司,它开发的软件,基本上完全是需求驱动,而不是领域模型驱动。只有具备了领域模型积累的公司才有资格去谈领域模型驱动软件开发。在由领域模型往某种编程语言如Java上来实现的时候,绝对不会是1:1的对应关系,即使是粗颗粒度的EJB2模型都做不到,更不要说更加强调细颗粒度的POJO模型呢?用面向对象的语言如Java来编写一个领域模型,如果是用EJB2模型,你需要使用最少两个以上的EJB,即一个 Session Bean,处理面向流程的控制逻辑,一个Entity Bean,处理面向持久化的实体逻辑(持久化操作附着在Entity Bean的Home接口上)。如果是更加复杂的领域模型,那么你需要更多的EJB,也许是一个领域模型需要多个Entity Bean和多个Session Bean。现在我们使用基于POJO模型的实现,那么粗颗粒度的EJB还要继续细分:一个Entity Bean要剥离出来至少三个以上的POJO,即一个或者多个实体类,一个或者多个DAO接口类,一个或者多个DAO接口实现类;一个Session Bean要切分为多个业务Bean。
代码生成器一共有6个配置,每一个配置对象里面有很多的属性,现在开始解读每一个配置对象里面的具体属性代表什么意思
我们再看之前我们写的mybatis-config 发现是一个 environments标签,里面可以有多个 environment标签,表示多套配置
架构(Architecture),又名软件架构,是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。常见的架构,如C/S架构,B/S架构等。
由于在手动配置xml过程中,常常发生字母缺漏和大小写等错误,而无法对其进行检查,使得开发效率降低。
平时我们的开发过程,除了系统框架的搭建。其他无非就是CRUD增删改查的代码逻辑搬砖,CRUD也就避免不了要跟数据库打交道。一般常见的数据库操作insert(增)、update(改)、select(查)、delete(删);常规传统的数据库层面开发,涉及如下过程:
我们在上一章节中已经介绍了 SQL 语句传参,使用标签的 parameterType 属性来设定。该属性的取值可以是基本类型,引用类型(例如:String 类型),还可以是实体类类型(POJO 类)。同时也可以使用实体类的包装类,本章节将介绍如何使用实体类的包装类作为参数传递。
我们之前创建一个ssm项目,有controller层,pojo层,service层,mapper层。比如有关于书的实体类books,人的实体类people,这些实体类是放在pojo层的,关于业务,书的写一个接口,人的写一个接口。但是这些接口都是放在一个service层下面 的。并且是都放在一个电脑里面。放在一个项目里面。
以上的这个是原生的赋值,需要修改pojo层的代码,才可以赋值。现在想要不修改pojo,直接使用配置将外面的值赋值给pojo层,这个具体的值写在yml文件里面,我们就可以随便的修改yml文件,输出的对象也是不一样的,不用修改pojo层了。
先打开eclipse: 在eclipse中新建一个项目: 在左侧空白区域右键,new -- JavaProject 如果列表中没有JavaProject的话,就选择project,然后去搜索Java
我们都知道,表单中请求参数都是基于 key=value 的。 SpringMVC 绑定请求参数的过程是通过把表单提交请求参数,作为控制器中方法参数进行绑定的 例:例如:
通用mapper整合之后 不需要我们自己写单表的增删改查 省去了单表配置xml 导入Maven依赖
我们现在是springboot给我们集成了很多的东西,之前我们想要改tomcat的端口号。在tomcat的软件里面改,后来学习了maven,在maven的pom的插件里面改。现在是springboot里面集成了一个tomcat,他默认的端口号是8080,现在我们想要改,如何改?
A、再之前学习的Mybatis中 我们对单表的增删改查的操作,都是自己再mapper.xml中进行代码的书写,这样一来我们书写的代码比较的麻烦。 B、我们目前封装数据库的实体的时候,每一表都需要自己的书写实体类,这样一来,我们书写的代码就比较的麻烦。
MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
一、概述 Retrofit是Square公司开发的一个类型安全的Java和Android 的REST客户端库。来自官网的介绍: A type-safe HTTP client for Android and Java Rest API是一种软件设计风格,服务器作为资源存放地。客户端去请求GET,PUT, POST,DELETE资源。并且是无状态的,没有session的参与。关于REST的介绍可以参考维基百科 retrofit模型如下:(来自如何使用Retrofit写一个Android的REST客户端
使用resultType进行输出映射,只有查询出来的列名和pojo中的属性名一致,该列才可以映射成功。
JPA的API有主要以下几个:实体(entity)、持久性单元(persistence units)、持久性上下文( persistence context)、Entity Manager。我们先看Entity Manager。
Active Record(活动记录),是一种领域模型模式,特点是一个模型类对应关系型数据库中的一个表,而模型类的一个实例对应表中的一行记录。
resultMap 标签可以建立查询的列名和实体类的属性名称不一致时建立对应关系。从而实现封装。
POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称。
MybatisPlus 是 Mybatis 的升级版本,是对 Mybatis 的简化,因为他们的口号就是“为简化开发而生”。
之前我们都是使用配置文件的方式来生成的代码,虽然和JDBC比较简单了很多,但每次都在修改时需要既改实体类又改映射文件。还是有点麻烦。 所以,这一篇,我们来说说使用注解的方式来在接在实体类上配置映射关系
B. 一般的实体类对应一个数据表,其中的属性对应数据表中的字段。 好处: 1.对对象实体的封装,体现OO思想。 2.属性可以对字段定义和状态进行判断和过滤 3.把相关信息用一个实体类封装后,我们在程序中可以把实体类作为参数传递,更加方便。
新建数据库 bookmanager,然后创建两张表:图书表 book 和 预约图书表 appointment;
Java开发过程中,基本实体类包都以entity或者model来称呼,可是不少项目中,却以Bo、Vo来命名,面试的时候,也有可能被问到这些问题。那么,这几者分别代表什么意思呢?
单标的CRUD操作,主要根据业务如何编写高质量的SQL语句.单标操作的时候如果表中的列和实体的属性不对应的时候,建议使用别名方式进行影射处理.
目录 多对一 配置数据库 搭建环境测试 按查询嵌套处理 按结果嵌套处理 总结 一对多 实体类编写 按结果嵌套处理 按查询嵌套处理 总结 多对一 多对一关系:多个学生对应一个老师 配置数据库 数据库的设计: 📷 创建数据库: CREATE TABLE `teacher` ( `id` INT(10) NOT NULL, `name` VARCHAR(30) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=INNODB DEFAULT CHARSET=utf8
之前我们在写项目的实体类的时候,只是简单的写一个实体类,但是现在我们想要让实体类在swagger界面显示,
写完了第一个Spring的程序,相信已经对spring已经有所了解了,那么我们这节来了解一下,IOC是如何创建对象,什么时候创建对象的。
刚开始接触一定要跟着Mybatis的官方文档入门学习,同时先不要想mybatis 和 spring的整合啥的,咱就先把mybatis单独拿出来,学习他的使用。
之前我们都是使用配置文件的方式来生成的代码,虽然和JDBC比较简单了很多,但每次都在修改时需要既改实体类又改映射文件。还是有点麻烦。
在数据库字段命名规范中常常用下划线 “_” 对单词进行连接,如:"create_time",而开发中实体属性通常会采用驼峰命名法命名为 createTime 。
1.JAVA中Action层, Service层 ,modle层 和 Dao层的功能区分?(下面所描述的service层就是biz) 首先这是现在最基本的分层方式,结合了SSH架构。modle层就是对应的数据库表的实体类。
目录 一、使用注解实现自定义映射关系 1. 编写注解方法 2. 编写测试方法 3. 查看运行结果 二、使用注解实现一对一关联查询 1. 编写注解方法 2. 编写测试方法 3. 查看运行结果 三、使用注解实现一对多关联查询 1. 编写注解方法 2. 编写测试方法 3. 查看运行结果 四、注解文件和映射文件开发对比 ---- 一、使用注解实现自定义映射关系 当POJO属性名与数据库列名不一致时,需要自定义实体类和结果集的映射关系,在MyBatis注解开发中,使用 @Results 定义并使用自
本篇博客主要利用 SpringBoot 通过 XML 的方式整合 Mybatis,所有涉及的代码已经上传 Github mybatis-xml[1]。下面是整个整合过程,接下来开始整合:
多对多的建表原则:创建一个中间表,中间表中至少有两个字段作为外键分别指向多对多双方的主键;
Spring 中,用来组成应用程序的主体以及由 Spring IoC 容器所管理的对象叫做 Bean。简而言之,Bean 就是由 IoC 容器来进行初始化、装配和管理的对象。
一、一对一映射查询: 第一种方式(手动映射):借助resultType属性,定义专门的pojo类作为输出类型,其中该po类中封装了查询结果集中所有的字段。此方法较为简单,企业中使用普遍。 1 <
resultMap 标签可以建立查询的字段名和实体类的属性名称不一致时建立对应关系。从而实现封装。 在 select 标签中使用 resultMap 属性指定引用即可。同时 resultMap 可以实现将查询结果映射为复杂类型的 pojo,比如在查询结果映射对象中包括 pojo 和 list 实现一对一查询和一对多查询。
通过对数据库中一张表的CRUD,将相应的操作结果渲染到页面上。 笔者通过这篇博客还原了项目(当然有一些隐藏的坑),然后将该项目上传到了Github、Gitee,在末尾会附上有源码地址,读者可参考。
目前而言,国内大家使用最多的持久层框架可能还是 MyBatis 吧,那既然如此,更强大的 Spring Boot 遇上炽手可热的 MyBatis,又会擦出什么样的火花呢?
Spring Boot 中使用Thymeleaf 引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> JPA( Java Persistence API) 资源库,就是为 POJO (Plain Ordinary Java Object)提供持久化的标准规范,然后将 POJO 通过 ORM(
领取专属 10元无门槛券
手把手带您无忧上云