- 博客(28)
- 收藏
- 关注
原创 初识MyBatis
MyBatis介绍:1、MyBatis是一个持久化框架,是Apache下的顶级项目。2、通过MyBatis的映射,半自动化的满足需求的SQL语句。3、将SQL的输入参数自动的输入映射,也可以将查询的结果结合自动映射出java对象。创建MyBatis的配置文件(mybatis-config.xml) 代码如下:1、配置数据库的连接地址2、配置映射文件<?xml...
2019-01-05 11:03:09
165
原创 Spring——AOP
一 AOP的基本概念(1)Aspect(切面):通常是一个类,里面可以定义切入点和通知(2)JointPoint(连接点):程序执行过程中明确的点,一般是方法的调用(3)Advice(通知):AOP在特定的切入点上执行的增强处理,有before,after,afterReturning,afterThrowing,around(4)Pointcut(切入点):就是带有通知的连接点,...
2018-09-19 09:20:59
195
转载 Spring中ref和idref的区别?
区别:ref注入的是bean的实例idref注入的是string在spring中idref是用来将容器内其他bean的id传给<constructor-arg/>和<property />,记住是bean的id名称不是bean对象实例,同时使用idref容器在部署的时候还会验证这个名称的bean是否真实存在。idref元素的功能与<value>类似,...
2018-09-18 15:55:46
445
原创 Spring——IOC
首先,我们先了解一下Spring是什么?Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。(以上是百度百科上可以去了...
2018-09-17 19:16:21
232
原创 Hibernate的HQL语句、原生态SQL语句以及缓存
Hibernate是一个不需要编写增删改查的SQL语句的一个框架,这是由于她它本身自带一套CRUD的操作,但是它的基本CRUD并不能够满足我们所做的一些操作,从而衍生了一套名为HQL的查询语句。HQL(Hibernate Query Language)查询提供了更丰富的和灵活的查询特性,也因此Hibernate将HQL查询方式立为官方推荐的标准查询方式。首先,我们创建一个实体类来进...
2018-09-17 18:50:33
525
原创 Hibernate的关系映射——Many-To-Many(多对多)
多对多:多对多的关系至少需要三张表,两张关系表,一张中间表,用来保存两个表之间的关系。用一个例子来表明多对多的关系:用户、角色以及用户角色。实际应用中:一个用户可能会有多个角色,而一个角色也会有多个用户,而用户角色则是保存两个表之间关系的一个中间表。在数据库创建三个表user、role、userrole首先创建两个实体类,作为中间表的userrole是不用创建实体类的Use...
2018-09-17 18:09:52
554
原创 Hibernate的关系映射——Ont-To-Many(一对多、多对一)
使用一个例子来表明一对多和多对一的关系(国家、省份和城市之间的关系)一个国家有多个省份(一对多),多个省份属于一个国家(多对一)一个省份有多个城市(一对多),多个城市属于一个省份(多对一)首先,创建三个实体类分别是:Nation(国家),Province(省份),City(城市)Ont-To-Many:定义多端Set集合,需要实例化HashSetMany-To-Ont:定义一端...
2018-09-10 20:23:03
757
原创 Hibernate的关系映射——One-To-One(一对一)
单向关联:只有主表中有从表的属性双向关联:主表中有从表的属性,从表中也有主表的属性例如,创建两个实体类第一个Person(人)的实体类public class Persons { private String pid; private String pname; private Card card; public String getPid() { retu...
2018-09-09 09:17:10
4681
原创 Hibernate对象的四种状态
对象的状态临时状态(新建状态):没有保存到数据库之前的状态持久化状态(托管状态):数据库中有,也在session缓存中游离状态(脱管状态):数据库中有,不在session缓存中删除状态:数据库中没有,session缓存中没有对象状态转换临时状态——>持久化状态两个方法:1、save():设置了对象的ID值也不会报错,也就是不会去管你的主键生成策略,赋值其他属性...
2018-09-06 16:44:40
214
原创 Hibernate主键生成策略
主键常用类型assigned:<generator class="assigned" />主键由外部程序负责生成,在save()之前必须指定一个。Hibernate不负责维护主键生成。与Hibernate和底层数据库都无关,可以跨数据库。在存储对象前,必须要使用主键的setter的方法给主键赋值,至于这个值怎么生成,完全由自己决定,这种方法一个尽量避免。ide...
2018-09-06 16:07:35
140
原创 Struts2中符号#、%及%{}的用法区别?
首先,使用Struts2的s标签需在页面上加上一行如下代码<%@ taglib prefix="s" uri="/struts-tags"%>符号#:是获取域对象的值(域对象:request,session,application,parameters,attribute)域对象的值存于context对象中所以需要一个#字符号才能获取context里面的值<...
2018-08-20 23:55:16
314
原创 Java中的= ==和JavaScript中的===的区别
Java中的=和===是赋值== 是判断1、a=b就是把b的值赋予给a2、a==b就是判断a等于b3、用==语句一般情况都是在要前面加if语句,作为判断if a==b 执行什么JavaScript中的==和=== java中没有“===”号的比较,只有javascript中才有”==”与”===”是不同的,一个是判断值是否相等,一个是判断值及类型是否完全相等。下面的规则用于判定===运算符比...
2018-06-23 23:42:31
439
原创 自定义标签中TagSupport和BodyTagSuppor的区别?
1 自定义标签中的TagSupport和BodyTagSupport的区别在哪呢?而两者的区别在于标签处理的时候是否需要与标签体交互,如果不交互就用TagSupport,交互就用BodyTagSupport。交互就是标签处理类是否要读取标签体的内容和改变标签体返回的内容,用TagSupport实现的标签,都可以用BodyTagSupport来实现,因为TagSupport是父类,BodyTagSu...
2018-06-03 21:12:46
590
原创 反射
反射是什么?从.java->.class 编译.class->.java 反编译(反射)编译一个javabean 反射的形式来实例化对象利用反射来获取类的对象: // 1 根据类名获取类的对象 Class<Person> p = Person.class; // 2 根据对象来获取类的对象(获取class) Person ...
2018-06-02 22:31:53
114
原创 快速排序算法
排序算法是什么呢?首先,我们要知道排序是什么呢?排序是计算机内经常用到的一种操作,所谓排序,就是一串数据根据其中的某种特性或某种特点,逐渐增加或逐渐递减的排列起来的一种操作。那么算法又是什么呢?为什么要用算法来排序?算法是描述解决问题的方法(解决特定问题的步骤描述),在计算机中表现为指令的有序序列,为了解决某个问题,就需要指令表示成一定的操作序列,而每一个操作也都代表着特定的功能,这就是算法了。而...
2018-05-27 16:08:38
191
原创 XML文件与properties文件的异同?
properties是key-value的关系,不能表现出复杂的关系。XML是通用的可以在不同语言、不同框架之间作为数据的载体,类似于系统参数的配置应用properties,主要体现key-value关系。properties用于结构简单的具有key-value关系的配置,XML用于具有复杂关系具有层次结构的配置,properties是无法做到的。总体来说,properties配置文件易于理解配置...
2018-05-25 22:42:13
763
原创 XML文件的java操作有哪一些?
XML文件可以用来作为一种小型的数据库存在,更多时候在项目中都是用来当成配置文件用,也就避免不了对XML文件的增删改查操作。
2018-05-25 22:20:56
154
原创 XML文件中的DTD又是什么?
DTD可以看作一个或多个XML文件的模板,这些XML文件中的元素、元素的属性、元素的排序方式/顺序、元素能够包含的内容等,都必须符合DTD中的定义
2018-05-25 21:33:23
336
转载 java.lang.Comparable 和 java.util.Comparator的区别
一个类实现了java.lang.Comparable接口表明这个类的对象之间是可以进行相互比较的,这个类对象组成的集合就可以直接使用Collections.sort()方法排序。java.util.Comparator可看成是算法的实现,将算法和数据分离,可在以下两种环境下使用:1.类的设计师没有考虑到比较问题而没有实现Comparable接口,可以通过Comparator排序而不用改变对象本身2...
2018-05-24 22:22:50
311
转载 堆栈之间的差别
堆栈是什么?堆栈是一个遵循”后进先出”(先进后出)规则的特殊内存区域.堆栈在哪?由汇编知识我们知道它的地址又SS(Stack Segment)堆栈段寄存器和SP(Stack Pointer)堆栈指针寄存器构成,即地址组成为SS:SP,前者为段地址,后者为偏移地址.绝对地址=SP*16D+SP.堆栈解析(1)堆栈只有一个出入口,即栈顶(地址最小的一端),它的地址由SP(Stack Pointer)堆...
2018-05-23 19:53:47
1403
转载 LinkedList和ArrayList异同
1、ArrayList是实现了基于动态数组的数据库结构,LinkedList基于链表的数据结构。2、对于随机访问get和set,ArrayList绝对优于LinkedList,因为LinkedList要移动指针。3、对于新增和删除操作,LinkedList比较占优势,因为ArrayList要移动数据。//示例代码:static final int N = 50000; static long...
2018-05-23 19:28:06
145
转载 Vector和ArrayList异同
相同点:1、都是有序集合。2、数据不允许重复。3、都实现了list接口。4、都是通过数组实现的。5、数组进行复制、移动、代价比较高,因此,适合随机查询和遍历,不适合插入和删除。不同点:1、ArrayList属于线程不安全(线程不同步)即当多线程进行对ArrayList集合的操作时,有可能对数据进行不正确的操作。如果只有一个线程会访问到集合,那最好是使用ArrayList,因为它不考虑线程安全,效率...
2018-05-23 16:53:39
543
1
原创 MySQL limit的优化
当一个数据库的查询数据量偏大的时候,最好不要直接使用limit,而是先获取表格的标识列或唯一列(一般是ID),再使用limit来获取数据,效果会好许多select * from table where id>=(select id from table order by id limit 10000,1) limit 10;...
2018-05-23 14:37:43
100
原创 自定义函数:传入值(0显示值为女,1显示值为男)
DELIMITER $$CREATE /*[DEFINER = { user | CURRENT_USER }]*/ FUNCTION `t204`.`fun_1`(sex INT) RETURNS VARCHAR(10) /*LANGUAGE SQL | [NOT] DETERMINISTIC | { CONTAINS SQL | NO SQL...
2018-05-23 13:58:52
303
原创 MySQL通用的分页存储过程
DELIMITER $$CREATE /*[DEFINER = { user | CURRENT_USER }]*/ PROCEDURE `t204`.`pro_1`(pageindex INT,rowss INT) /*LANGUAGE SQL | [NOT] DETERMINISTIC | { CONTAINS SQL | NO SQL | READ...
2018-05-23 13:55:22
830
原创 MySQL数据库无法识别运算符
#解决sql语句无法识别运算符#定义一个变量#CONCAT为一个函数,返回结果为连接参数产生的字符串,如有任何一个参数为NULL ,则返回值为 NULL#limit 子句可以被用于强制 select 语句返回指定的记录数。#PREPARE 创建一个预定义语句#EXECUTE 执行创建的预编译语句SET @count=CONCAT('select * from person limit ',(1-...
2018-05-22 23:22:34
794
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人