随笔分类 -  Java之路

Java是世界上第几好的语言啊?
摘要:java中创建多线程的四种方式,分别是继承Thread类,实现Runnable接口,jdk5.0以后又增加了两种方式:实现Callable接口和使用线程池。在这里我将这四种方式进行总结。 继承Thread类 步骤 1. 定义一个类继承Thread类 2. 重写run方法:里面写线程要运行的任务代码 阅读全文
posted @ 2019-08-19 11:23 伊万夫斯基 阅读(3058) 评论(1) 推荐(0) 编辑
摘要:返回值分类 字符串 controller 方法返回字符串可以指定逻辑视图名,通过 视图解析器 解析为物理视图地址。 指定逻辑视图名,经过视图解析器解析为 jsp 物理路径: jsp代码 控制器代码 输出结果 在页面上显示user对象,模拟从数据库中查到User对象,需要借助Model,在jsp页面开 阅读全文
posted @ 2019-08-13 21:57 伊万夫斯基 阅读(406) 评论(0) 推荐(0) 编辑
摘要:代理模式的原理 使用一个代理将对象包装起来, 然后用该代理对象取代原始对象。任何对原始对象的调用都要通过代理。代理对象决定是否以及何时将方法调用转到原始对象上。 简单例子: 小强意外成为了一个网红明星,此时他请了一个专业的经纪人进行各种事务的管理,小强的演出活动啊都得经过经纪人的同意。此时小强是被代 阅读全文
posted @ 2019-08-06 16:15 伊万夫斯基 阅读(149) 评论(0) 推荐(0) 编辑
摘要:本文首先介绍java中的基本数据类型,后面详细介绍了自动拆装箱原理,如有问题,欢迎探讨交流。 数据类型 分类 基本数据类型分为三类: 1. 数值型:数值型又分为整数型和浮点型; 2. 字符型(char) 3. 布尔型(boolean) 为什么会有基本数据类型? 因为,在java中 一个对象是存储在堆 阅读全文
posted @ 2019-08-05 21:51 伊万夫斯基 阅读(6417) 评论(0) 推荐(4) 编辑
摘要:DBUtils能干啥 Commons DbUtils库是 Apache 组织提供的一个开源 JDBC工具类库,它是结合连接池 C3P0 使用工具类。它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能。它有三个核心功能,刚好用于解决项 阅读全文
posted @ 2019-08-03 16:05 伊万夫斯基 阅读(189) 评论(0) 推荐(0) 编辑
摘要:IoC的概念 控制反转(Inversion of Control)英文缩写IoC, 即就是把创建对象的权利交给框架,是框架的重要特征。 包括:依赖注入(Dependency Injection,简称DI)和依赖查找(Dependency Lookup) 作用:降低程序间的耦合关系 IoC前戏(会用) 阅读全文
posted @ 2019-07-25 10:51 伊万夫斯基 阅读(491) 评论(0) 推荐(0) 编辑
摘要:首先我们先了解一下什么是程序的耦合,耦合指的是程序间的依赖关系。那么解耦的意思就是要降低程序间的依赖关系。在我们实际开发中:应该做到, 编译期不依赖,运行时才依赖 。 好了上面废话那么多,我们先来看一段程序。 可以看到,此时业务层的代码调用了持久层的实体类,如果我们此时没有持久层实现类,那么编译不能 阅读全文
posted @ 2019-07-25 10:38 伊万夫斯基 阅读(249) 评论(0) 推荐(0) 编辑
摘要:Spring是什么 ​ Spring 是分层的 Java SE/EE 应用 full stack (全栈)轻量级开源框架,以 IoC( Inverse Of Control:反转控制)和 AOP( Aspect Oriented Programming:面向切面编程)为内核,提供了展现层 Sprin 阅读全文
posted @ 2019-07-24 15:33 伊万夫斯基 阅读(240) 评论(0) 推荐(0) 编辑
摘要:本文非原创,参考链接 http://www.cnblogs.com/smyhvae/p/3929585.html == 基本数据类型:比较的是值 引用数据类型:比较的是堆内存地址,他们在内存中的存放地址 注意:如果是同一个new出来的对象(在堆内存中是同一个区域),比较的结果为true,否则为fal 阅读全文
posted @ 2019-07-21 16:58 伊万夫斯基 阅读(2013) 评论(0) 推荐(1) 编辑
摘要:异常 ​ 在java中用类的形式对不正常情况进行了描述和封装对象。描述不正常的情况的类,就称为异常类。以前正常流程代码和问题处理代码相结合,现在将正常流程代码和问题处理代码分离,提高阅读性。其实异常就是java通过面向对象的思想将问题封装成了对象,用异常类对其进行描述。不同的问题用不同的类进行具体的 阅读全文
posted @ 2019-07-21 15:58 伊万夫斯基 阅读(180) 评论(0) 推荐(0) 编辑
摘要:1. 在SqlMapconfig.xml中开启二级缓存支持 Mybatis默认开启了二级缓存,可以不用配置。 Mybatis官网: 2. 在持久层接口中使用注解配置二级缓存 3. 编写测试类 开启二级缓存后,数据库只进行了一次查询。 阅读全文
posted @ 2019-07-20 15:39 伊万夫斯基 阅读(486) 评论(0) 推荐(0) 编辑
摘要:需求:使用注解方式实现,查询用户信息时,也要查询对应的账户列表。 一个用户具有多个账户信息,所以形成了用户(User)与账户(Account)之间的一对多关系。 1. User实体类中加入 2. 编写用户的持久层接口并使用注解配置 3. 编写账户的持久层接口并使用注解配置 4. 编写测试方法 阅读全文
posted @ 2019-07-20 15:34 伊万夫斯基 阅读(366) 评论(0) 推荐(0) 编辑
摘要:复杂关系映射的注解说明 实体类属性和数据库表中列名不一致的时候,使用 注解。 举例: 下面详细介绍一下 注解的参数: 基于注解开发一对一的查询配置 1. 添加Account实体类 2. 编写Account账户的持久层接口并使用注解配置 3. 测试一对一关联及延迟加载 阅读全文
posted @ 2019-07-20 15:33 伊万夫斯基 阅读(680) 评论(0) 推荐(0) 编辑
摘要:问题: 在一对多中,当我们有一个用户,它有100个账户。 在查询用户时,用户下的账户信息是,什么时候用,什么时候再查询。 在查询账户时,账户的所属用户信息应该是随着账户查询时再查询出来。 什么是延迟加载 延迟加载 在真正使用数据时才发起查询,不用的时候不查询。按需加载(懒加载) 立即加载 不管用不用 阅读全文
posted @ 2019-07-20 15:27 伊万夫斯基 阅读(262) 评论(0) 推荐(0) 编辑
摘要:创建步骤: 1. 创建maven工程,什么都不选就ok,并导入坐标; 2. 编写User实体类,java目录下创建com.ben.domain包,创建User实体类 3. 使用注解方式编写持久层接口 4. 在resources文件夹中,创建Mybatis的主配置文件SqlMapConfig.xml; 阅读全文
posted @ 2019-07-20 15:25 伊万夫斯基 阅读(282) 评论(0) 推荐(0) 编辑
摘要:Mybatis的缓存 缓存基本概念 缓存是存在于内存中的临时数据 为什么用缓存?减少和数据库的交互次数,提高执行效率。 什么地方用缓存? | 条件 | 情况 | | | | | 适用于缓存 | 经常查询并且不经常改变的,数据的正确与否对最终结果影响不大的 | | 不适用于缓存 | 经常改变的数据,数 阅读全文
posted @ 2019-07-20 15:22 伊万夫斯基 阅读(275) 评论(0) 推荐(0) 编辑
摘要:多对多 需求: 用户和角色 ​ 一个用户可以有多个角色 ​ 一个角色可以赋予多个用户 分析: 1. User表和Role表具有多对多关系,需要使用中间表,中间表中包含各自的主键,在中间表中是外键; 2. 建立两个实体类:用户实体类中包含对角色的集合引用,角色实体类中包含对用户的集合引用; 3. 建立 阅读全文
posted @ 2019-07-20 15:15 伊万夫斯基 阅读(329) 评论(0) 推荐(0) 编辑
摘要:一对多 需求: 查询所有用户信息及用户关联的账户信息。 分析: 用户信息和他的账户信息为一对多关系,并且查询过程中如果用户没有账户信息,此时也要将用户信息查询出来,我们想到了左外连接查询比较合适。 步骤: 1. 编写SQL语句; 查询到用户信息与其对应账户信息,如图所示。 2. User类中加入 ; 阅读全文
posted @ 2019-07-20 15:09 伊万夫斯基 阅读(369) 评论(0) 推荐(0) 编辑
摘要:多表操作 举例说明 多对一: 用户和订单是一对多,一个用户可以下多个订单; 订单和用户是多对一,多个订单属于同一个用户。 一对一: 人和身份证号。一个人只能有一个身份证号,一个身份证号也只能被一个人所有。 多对多: 老师和学生之间。一个学生可以被多个老师教过,一个老师可以交多个学生。 开始之前 1. 阅读全文
posted @ 2019-07-20 15:07 伊万夫斯基 阅读(418) 评论(0) 推荐(0) 编辑
摘要:(会用) if标签 ``标签的 test 属性中写的是对象的属性名, 映射配置文件 持久层接口 测试文件 where标签 为了简化上面 where 1=1 的条件拼装,我们可以采用``标签来简化开发。 作用 1. 自动向sql语句中添加where关键字 2. 去掉第一个条件的and关键字 映射配置文 阅读全文
posted @ 2019-07-17 22:57 伊万夫斯基 阅读(345) 评论(0) 推荐(0) 编辑