实体类

MyBatis Generator中文文档

可紊 提交于 2019-12-13 13:38:55
MyBatis Generator中文文档 MyBatis Generator中文文档地址: http://mbg.cndocs.ml/ 该中文文档由于尽可能和原文内容一致,所以有些地方如果不熟悉,看中文版的文档的也会有一定的障碍,所以本章根据该中文文档以及实际应用,使用通俗的语言来讲解详细的配置。 本文中所有节点的链接都是对应的中文文档地址,可以点击查看详细信息。 注:本文后面提到的MBG全部指代MyBatis Generator。 MyBatis Generator 1.3.4 扩展,可以设置 Mapper(Dao)后缀 运行MyBatis Generator 有4种运行MBG的方法,具体请看文档 运行 MyBatis Generator MBG下载地址:http://repo1.maven.org/maven2/org/mybatis/generator/mybatis-generator-core/ XML配置详解 在MBG中,最主要也最重要的就是XML配置文件,因此本篇文章主要的内容就是XML配置。 这里按照配置的顺序对配置逐个讲解,更细的内容可以配合中文文档参照。 1. 配置文件头 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org/

实体类为什么要实现Serializable序列化的作用

南楼画角 提交于 2019-12-13 04:35:41
客户端访问了某个能开启会话功能的资源, web服务器就会创建一个与该客户端对应的HttpSession对象,每个HttpSession对象都要站用一定的内存空间。如果在某一时间段内访问站点的用户很多,web服务器内存中就会积累大量的HttpSession对象,消耗大量的服务器内存,即使用户已经离开或者关闭了浏览器,web服务器仍要保留与之对应的HttpSession对象,在他们超时之前,一直占用web服务器内存资源。 web服务器通常将那些暂时不活动但未超时的HttpSession对象转移到文件系统或数据库中保存,服务器要使用他们时再将他们从文件系统或数据库中装载入内存,这种技术称为Session的持久化。 将HttpSession对象保存到文件系统或数据库中,需要采用序列化的方式将HttpSession对象中的每个属性对象保存到文件系统或数据库中;将HttpSession对象从文件系统或数据库中装载如内存时,需要采用反序列化的方式,恢复HttpSession对象中的每个属性对象。所以存储在HttpSession对象中的每个属性对象必须实现Serializable接口。 serialVersionUID 的作用 serialVersionUID 用来表明类的不同版本间的兼容性 Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的

POJO 与实体类之前的区别 POJO和JavaBean的区别

此生再无相见时 提交于 2019-12-12 04:57:19
POJO,JAVABEAN,Entity区别 1、javaBean javaBean是一种Java语言写成的可重用组件。为写成JavaBean,类必须是具体和公共的,并且具有无参数的构造器。JavaBean通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。更多的是一种规范,即包含一组set和get方法的java对象。javaBean可以使应用程序更加面向对象,可以把数据封装起来,把应用的业务逻辑和显示逻辑分离开,降低了开发的复杂程度和维护成本。 2、ejb 即EnterpriseBean,也就是Enterprise JavaBean(EJB)。 ejb是JavaEE的一部分,定义了一个用于开发基于组件的企业多重应用程序标准。它被称为Java企业Bean,是java的核心代码,分别是回话Bean(Session Bean)、实体Bean(Entity Bean)、和消息驱动Bean(MessageDriven Bean)。 3、pojo (Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称。 其中有一些属性及其getter、setter方法的类,没有业务逻辑,有时可以作为VO(value-object)或DTO(Data Transfer Object)来使用。不允许有业务方法

Android进阶AIDL使用自定义类型

和自甴很熟 提交于 2019-12-12 01:10:24
原文首发于微信公众号:jzman-blog 上篇文章 中主要介绍从 AIDL 的使用方式以及 Android 开发中不同进程之间的通信,遗留的问题是如何在 AIDL 中使用自定义类型,具体步骤如下: 创建自定义类型 声明自定义类型 定义与自定义类型相关的业务 重写业务实体类 远程调用 验证 AIDL 1. 创建自定义类型 自定义类型传输的就是一个实体对象,这个实体类必须实现 Parcelable 接口,具体如下: // 自定义类型 public class Work implements Parcelable { private String title; private String content; // getter、setter、Parcelable 省略 } 2. 声明自定义类型 创建一个 .aidl 文件声明刚才定义的类型,注意与具体业务 .aidl 文件的不同,声明具体如下: // 在.aidl文件中声明自定义类型 package com.manu.aidldemo; parcelable Work; 3. 定义与自定义类型相关的业务 在定义具体业务的 .aidl 文件中定义与自定义类型相关的业务,具体如下: // Declare any non-default types here with import statements import com.manu

Java实体类实现链式操作

你说的曾经没有我的故事 提交于 2019-12-11 11:53:10
原来是这么写bean的,单纯的使用get、set方法,再加一个toString package Model; /** * @author: Davion * @date: 2019/12/11 * @description: */ public class User { private Integer id; private String name; @Override public String toString() { return "User{" + "id=" + id + ", name='" + name + '\'' + '}'; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } } 然后使用的使用就是不断的set import Model.User; /** * @author: Davion * @date: 2019/12/11 * @description: */ public class Main { public static void

Mybatis框架学习第一天

隐身守侯 提交于 2019-12-11 08:05:31
1.Mybatis的入门知识 1.Mybatis是一个持久层的框架技术. 下面是三大框架的架构图 其中SpringMVC是表现层的框架:用于接收和展示数据的; 业务层(Service)是处理逻辑业务的。 Mybatis则是持久层(dao)的框架,封装了许多和数据操作相关的细节,提高开发效率。 需要注意的是,Spring是一个无可替代的框架,它横跨了表现层–业务层–持久层 经典的服务器开发的三层架构,Spring是整合前后两个层次的必需品。 2.经典的持久层技术分析 Jdbc技术(是规范) Spring的JdbcTemplate(对Jdbc的简单封装) DBUtils(对Jdbc的简单封装) 以上这些都不是框架,后两者都是工具类,Mybatis是一个用户只需要关注sql语句和数据库优化上的框架,而不用关注加载驱动,简化连接和释放预处理对象,关闭连接等繁琐的过程。 3.Mybatis技术简介 mybatis通过配置xml和注解的方式把各种statement配置起来,通过java对象和statement中的sql中的动态参数进行映射生成最终执行的sql,最终将结果集映射为java对象并返回。 mybatis采用ORM(对象关系映射)思想解决了实体和数据库映射的关系,封装了jdbc,对用户避免了使用jdbc的繁琐api。 ORM(对象关系映射)思想 简单的说就是

EF6&EFCore 注册/使用实体类(code frist)

戏子无情 提交于 2019-12-11 07:57:54
原文连接: https://www.cnblogs.com/gucaocao/p/8350120.html 首先回顾下EF中常规使用流程 1.新建实体类以及实体配置(data annotation或fluent api) [ Table ( "Users" ) ] public class Users { [ Key ] public Guid Id { get ; set ; } [ StringLength ( 10 ) ] public string Name { get ; set ; } } 2.新建数据库上下文类MyDbContext public class MyDbContext : DbContext { public MyDbContext ( ) { } public DbSet < Users > Users { get ; set ; } //EF CORE 中的重新方法 EF6.0中 我是没找到这个重新方法 protected override void OnConfiguring ( DbContextOptionsBuilder optionsBuilder ) { optionsBuilder . UseSqlServer ( "connectionString" ) ; } protected override void

JPA的基本注解

拜拜、爱过 提交于 2019-12-10 14:35:46
场景 JPA入门简介与搭建HelloWorld(附代码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103473937 在上面搭建JPA的HelloWorld时在实体类中用到了一些注解 package com.badao.jpa.helloworld; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name="JPA_CUSTOMERS") public class Customer { private Integer id; private String lastName; private String email; private int age; @GeneratedValue(strategy = GenerationType.IDENTITY) @Id public Integer getId()

mybatis中order by 取参问题

僤鯓⒐⒋嵵緔 提交于 2019-12-10 01:01:18
记录一下使用mybatis时 order by 赋值的问题。 原因 :我想实现表单根据每个字段进行排序,因为我的数据库字段名和实体类的字段名不一致,从前台获取了实体类的字段名传到mapper中 ,直接把这个写到sql语句肯定报此字段不在数据库字段中存在。 想到解决方法: 在mapper中做实体类映射,映射方法在我上一篇博客有。这样搞到最后发现是错误的。 因为映射的只能是做返回使用,在order by 后边是不允许使用的。 解决: 最后能as一个别名。使用别名就可以了。 另外: 还遇到一个问题:在前端传过来的字段在mapper取值用#{""}在order by后边是不行的。 因为#{""}取到的是一个字符串,会有双引号。order by会报错。 解决:用${""}取值就没问题了。 来源: CSDN 作者: 能能哟 链接: https://blog.csdn.net/qq_41992943/article/details/103457747

flask基础

北战南征 提交于 2019-12-09 20:04:30
flask通用模板 from flask import Flask , render_template , request from flask_sqlalchemy import SQLAlchemy from flask_migrate import Migrate , MigrateCommand from flask_script import Manager app = Flask ( __name__ ) # 为app指定数据库的链接信息 app . config [ 'SQLALCHEMY_DATABASE_URI' ] = \ 'mysql+pymysql://root:123456@localhost:3306/flask' # 取消sqlalchemy的信号追踪 app . config [ 'SQLALCHEMY_TRACK_MODIFICATIONS' ] = False # 设置程序的启动模式 app . config [ 'DEBUG' ] = True # 非查询自动提交回数据库 app . config [ 'SQLALCHEMY_COMMIT_ON_TEARDOWN' ] = True # 创建SQLAlchemy的实例db,以后在程序中通过db来操作数据库 db = SQLAlchemy ( app ) # 创建Manager对象