实体类

Hibernate 中 get和load方法的区别

我是研究僧i 提交于 2019-11-30 07:22:29
hibernate 支持延迟加载,也称为懒加载,就是在使用对象的时候才会发送 sql 语句,不使用对象的时候就不会发送 sql 语句。 只有在 session 打开状态下,懒加载才有效。 一、 get 和 load 在懒加载方面的区别 get 对持久类本身,不支持懒加载, 直接载入实体类。 load 对持久类本身,支持懒加载, 直接载入实体类。 get 和 load ,对其关系属性( many-to-one , one-to-one 属性) 都支持懒加载 二、 get 和 load 在查询持久类本身的机制区别 1 、 get 和 load 方法都是根据 id 去获得对应数据的,但是获得机制不同 : get 方法 , hibernate 会去确认该 id 对应的数据是否存在,它首先会去 session 中去查询 (session 缓存其实就 hibernate 的一级缓存 ) ,如果没有,再去二级缓存中去查询,如果再没有,就去数据库中查询,仍然没有找到的话,就返回 null 而使用load 方法的话 , hibernate 会认定该 id 对应的数据一定存在,它也会先去 session 缓存中去查找,如果没有找到, hibernate 会根据 lazy 属性值来确定是否使用延迟加载。如果 lazy=‘true’ ,就使用延迟加载,返回该代理对象

mybatis-plus集成spring boot使用

妖精的绣舞 提交于 2019-11-30 06:22:24
mybatis-plus是国内的开源项目 简化mybatis的使用和开发 其中通用mapper接口非常好用 有单表所有的增删改查 只需要自身的mapper接口继承这个接口 然后泛型写要操作的实体类即可 这是mybatis-plus的官网 文档写的还不错 https://mp.baomidou.com/guide/ 可以在SSM项目中使用 也可以集成到spring boot 我这里是在spring boot中使用 首先是maven依赖 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.2.0</version></dependency>这是目前最新版本的依赖,导入了这个之后不需要再导入mybatis的依赖了 因为mybatis-plus里面就包含了mybatis然后在spring boot 启动类上 加上这个注解@MapperScan("你的mapper接口所在的包名") 这个注解就是扫描指定包名下的所有mapper接口 这个注解其实使用mybatis也要加,扫描到你的mapper接口之后 才能在运行时 给你生成代理类 执行sql语句之类的然后在spring boot启动类多加一个方法,因为现在肯定是都要使用分页查询功能的

oracle学习笔记(八)——结果集元数据ResultSetMetaData以及ResultSet转为对应的实体类框架

一曲冷凌霜 提交于 2019-11-30 03:10:00
介绍 可用于获取关于 ResultSet 对象中列的类型和属性信息的对象,在持久框层框架(如:mybatis, hibernate)中被广泛的应用。 常用方法 int getColumnCount() 返回此 ResultSet 对象中的列数 String getColumnLabel(int column) 获取用于打印输出和显示的指定列的建议标题。建议标题通常由 SQL AS 子句来指定。 String getColumnName(int column) 获取指定列的名称 复制Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("select ename,job,hiredate from employee"); ResultSetMetaData resultSetMetaData = rs.getMetaData(); int colCount = resultSetMetaData.getColumnCount(); System.out.println("共有多少列:" + colCount); for (int i = 1; i <= colCount; i++) { //得到列名 String colLabel = resultSetMetaData

文件上传

岁酱吖の 提交于 2019-11-30 02:50:14
1.1导入jar包,Fileupload 1.2 jsp网页中的表单提交方式(method)必须是post,编码( enctype )必须是 multipart/form-data *input标签中name的值必须和对应controller方法的参数名一样 1.3在控制层处理代码,创建Controller类,添加对应方法 *对应controller方法的参数名必须和input标签中name的值一样 *在获取获取文件上传真实保存的路径时,所取的文件名不可与其对应的实体类中属性名相同() 1.3在springmvc中配置文件上传的解析器 来源: https://www.cnblogs.com/lwgok1003/p/11548198.html

ASP.NET开发实战——(九)ASP.NET MVC 与数据库之ORM

我们两清 提交于 2019-11-30 02:41:34
  之前的文章中介绍了如何在ASP.NET中通过ADO.NET操作SQL Server和My SQL数据库,数据库的操作是通过SQL语句的执行来完成的,在ASP.NET中还有一个简便的方式来使用数据库,那就是通过Entity Framework这个ORM组件。EF操作数据的原理也是最终生成SQL来执行。   本文将从以下几个方面来完成Entity Framework的介绍:   ●什么是ORM   ●Entity Framework   ●使用EF Code First操作数据库 什么是ORM   对象关系映射(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。(百度百科)。   Object-relational mapping (ORM, O/RM, and O/R mapping tool) in computer science is a programming technique for converting data between incompatible type systems using object-oriented programming languages.(wikipedia)   以上两个解释的核心点都在于“面向对象”、

FastJson对实体类和Json还有JSONObject相互转换

僤鯓⒐⒋嵵緔 提交于 2019-11-30 02:40:34
1. 实体类或集合转JSON串 String besnString = JSONObject.toJSONString(实体类); 2.JSON串转JSONObject JSONObject jsonObject = JSONObject.parseObject(jsonString); 3.JSON串转实体类 实体类 javaBean = JSON.parseObject(json, 实体类.class); 4.JSON串转带泛型的List的集合 List<实体类或其他泛型> list = JSON.parseObject(json, new TypeReference<List<实体类或其他泛型>>(){}); 来源: https://www.cnblogs.com/mobingfeng/p/11399649.html

Android开发 LiveData与MutableLiveData详解

你。 提交于 2019-11-30 01:38:51
前言   LiveData与ViewMode是经常搭配在一起使用的,但是为了不太混乱,我还是拆分开来说明,此篇博客只讲解 LiveData 与 MutableLiveData的概念与使用方式(但是会涉及到ViewMode的部分代码). LiveData是干什么的?    由于LiveData和MutableLiveData都是一个概念的东西(只是作用范围不同)所以就不重复解释了,直接理解LiveData就可以明白MutableLiveData   直接理解LiveData的字面意思是前台数据,其实这其实是很准确的表达.下面我们来说说LiveData的几个特征: 1.首先LiveData其实与数据实体类(POJO类)是一样的东西,它负责暂存数据. 2.其次LiveData其实也是一个观察者模式的数据实体类,它可以想跟它注册的观察者回调数据是否已经更新. 3.LiveData还能知晓它绑定的Activity或者Fragment的生命周期,它只会给前台活动的activity回调(这个很厉害).这样你可以放心的在它的回调方法里直接将数据添加到View,而不用担心会不会报错. LiveData与MutableLiveData区别 LiveData与MutableLiveData的其实在概念上是一模一样的.唯一几个的区别如下: 1.LiveData是使用于实体类的抽象方法

### Error querying database. Cause: java.sql.SQLException: 无法转换为内部方式

情到浓时终转凉″ 提交于 2019-11-30 00:00:27
在使用MyBatis的时候遇到以下异常: org.springframework.jdbc.UncategorizedSQLException: Error querying database. Cause: java.sql.SQLException: 无法转换为内部方式 从实体类的属性与数据库的数据表的字段做比对,发现数据表字段的数据类型与实体类属性的数据类型不一致导致的,因为数据表字段是字符串而实体类属性是整数,字符串转为数字或多或少都会出现问题,所以才会出现“”无法转换为内部方式“”的异常,将实体类属性的数据类型与数据表字段对应就可以了。 实体类: 数据表结构: 来源: CSDN 作者: 淳潜 链接: https://blog.csdn.net/caofuzhou/article/details/80976470

org.springframework.jdbc.UncategorizedSQLException: ### Error querying database. Cause: java.sql.S

99封情书 提交于 2019-11-30 00:00:04
今天在用MyBatis框架查询数据的时候出现了这个异常: org.springframework.jdbc.UncategorizedSQLException: Error querying database. Cause: java.sql.SQLException: 数值溢位 根据排查和推断基本确定为实体类变量的数据类型装不下数据库表某个字段的数字导致的 实体类数据类型过小: 数据库表某条记录的某些数字过大: 可以用三种办法解决:一、将实体类属性的数据类型改大,由原来的Integer改为Long,二、将数据库表里面某条记录的值改小,改到Integer的取值范围内,三、在原来SQL的基础上添加条件过滤掉这些记录。 来源: CSDN 作者: 淳潜 链接: https://blog.csdn.net/caofuzhou/article/details/80976021

封装1

孤街醉人 提交于 2019-11-29 22:42:30
package 封装; /* 面向对象三大特征: 1. 封装 2. 继承 3 多态。 需求: 使用java类描述百合网的会员。 问题: 性别有问题?? 根本原因: 由于其他人可以直接操作sex属性。可以对sex属性进行了直接的赋值。 封装: 权限修饰符:权限修饰符就是控制变量可见范围的。 public : 公共的。 public修饰的成员变量或者方法任何人都可以直接访问。 private : 私有的, private修饰的成员变量或者方法只能在本类中进行直接访问。 封装的步骤: 1. 使用private修饰需要被封装的属性。 2. 提供一个公共的方法设置或者获取该私有的成员属性。 命名规范: set属性名(); get属性名(); 疑问: 封装一定要提供get或者set方法吗? 不一定, 根据需求而定的。 规范 : 在现实开发中一般实体类的所有成员属性(成员变量)都要封装起来。 实体类:实体类就是用于描述一类 事物的就称作为实体类。 工具类(Arrays数组的工具类): 封装的好处: 1. 提高数据的安全性。 2. 操作简单。 3. 隐藏了实现。 */ class Member{ public String name; //名字 private String sex; //性别 public int salary; //薪水 //定义一个公共的方法设置sex属性,有参无返回值的方法