JAVA
文章平均质量分 50
白云如幻
坚持,终将收获更好的自己。一位来自98年的程序员;在一个偶然的机会下接触到程序员这个职业,沉醉其中,喜欢安安静静的写代码,在代码的世界里奔跑。
展开
-
MySQL连接查询之等值连接
建一个新库包含两张表实验:ta:id,age字段,tb:id,name,ta_id。原创 2024-11-11 15:41:14 · 105 阅读 · 0 评论 -
MySQL分组查询
分组查询:group by关键字实现分组,group by放在where条件语句之后,order by放置中group by的后面,一会儿还会学到的having关键字,总体的循序先后为:原创 2024-11-07 15:13:14 · 485 阅读 · 0 评论 -
MySQL的其他函数
案例:员工表中, 部门号是30,显示的工资是1.1倍,部门号是40,显示的工资是1.2倍,其他显示原工资。案例:查询入职日期是1992-4-3的员工信息。//查看当前使用的数据库。//查看mysql版本。原创 2024-11-06 21:11:02 · 399 阅读 · 0 评论 -
MySQL在基础查询基础上升级到条件查询
案例:工资在10000到20000之间到员工名,工资和奖金。原创 2024-11-03 15:32:17 · 295 阅读 · 0 评论 -
MySQL有关基础查询的知识点
查询salary,并起别名为 out put,别名里有特殊符号空格,这时要加单引号。好处:一个容易理解,语义化,另一个在后面的多表查询时候区分不同表里的同名字段。符号: 不是单引号,是着重号!用于区别关键字和字段名的,可以省略。用as关键字,如select 100%98 as 余数结果。as关键字可以换成空格。原创 2024-11-03 15:15:59 · 346 阅读 · 0 评论 -
MVC案例整合Spring和Hibernate
在真正的web项目中,是不用我们自己去写SpringContextListener这个监听器的,spring已经给我们写好了一个,我们直接在web.xml配置文件中配置就好了!补充一点:Hibernate的配置文件可以去掉,它里边的原生的hibernate属性怎么配置呢?1、使用Spring的IOC容器来生产Hibernate的SessionFactory对象实例。2、让Hibernate使用Spring的声明式事务。1、先加入Hibernate。2、在加入Spring,整合。原创 2024-10-10 16:17:43 · 592 阅读 · 0 评论 -
基于xml配置文件的Spring事务
什么意思:Service层你的类里的方法,以get,find,select等开头的方法是查询方法,它们的事务是只读的,其他如update,delete,del,insert开头的所有方法都为可写的事务!原创 2024-10-10 15:07:28 · 159 阅读 · 0 评论 -
Spring-事务的其他属性
这个属性比较重要:一般情况下在实际项目中,我们对查询的方法都把事务设置为只读,对增、改、删的方法才设置为可写事务,原因是Spring底层可以给我们做优化,增加对数据库的访问效率!原创 2024-10-09 14:18:12 · 214 阅读 · 0 评论 -
配置声明试的Spring事务
什么时候,用这个属性呢?事务就搞定了,不用变成代码的事务,spring声明式事务。原创 2024-08-16 13:31:37 · 248 阅读 · 0 评论 -
Spring的事务-买衣服例子
事务:把一些列的sql语句,组合成一个整体,要么所有的sql都执行成功,要么一句sql都不能被执行,这就是事务。1、通过点击的按钮获取到购买的衣服的id,用户购买的数量和用户id。2、通过衣服id获取到衣服的单价,计算出购买衣服的总金额。用户的信息表:用户的编号,用户名字,用户的余额。衣服的信息表:衣服的编号,单价,库存数。3、从衣服库存数中减去用户购买的数量。4、从用户的余额中扣除购买衣服的金额。原创 2024-08-16 13:20:51 · 306 阅读 · 0 评论 -
Spring-具名参数
具名参数: 我们在Hibernate用过,就是sql语句中的占位符可以不使用?而使用具体的名字,格式(:nameValue)原创 2024-08-15 20:16:19 · 250 阅读 · 0 评论 -
Spring中使用JdbcTemplate访问数据库
补充:批量插入的实现。原创 2024-08-15 17:39:13 · 330 阅读 · 0 评论 -
Spring-AOP实现后置、返回、异常和环绕通知
最后说一个问题,当同一个目标方法有多个切面的时候,哪个切面先执行,取决于在切面类上的注解@order(值小的先执行)。所有的通知都写一块了,功能强大,但是,考虑一个问题,是不是没次有切面需求的时候,都要把所有的通知方法都需要实现呢?1、必须要带参数ProceedingJoinPoint类型的参数,这个参数可以直接调用原来的目标方法。2、环绕通知方法必须有返回值,这个反正值就是目标方法的返回值。如果想要在通知方法里访问到目标方法返回的结果,可以用返回通知。原创 2024-08-14 19:02:45 · 296 阅读 · 0 评论 -
基于注解的Spring的AOP代码实现试验
Before注解后的括号的内容叫AspectJ表达式,这里还可进一步使用通配符*AopTestImpl换成*,表示cn.ybzy.springdemo包里的所有类。@AfterReturning返回通知(在目标方法返回结果之后执行)@AfterThrowing异常通知(在目标方法跑出异常之后执行)把注解扫面打开,写接口和实现类,有main方法是测试类。@After后置通知(在目标方法执行之后执行)@Around环绕通知(围绕着方法执行)还可用两个点儿表示任意参数。原创 2024-08-09 15:15:01 · 217 阅读 · 0 评论 -
Spring的切面编程概述
AOP技术恰恰相反,它利用一种称为"横切"的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,并将其命名为"Aspect",即切面。所谓"切面",简单说就是那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块之间的耦合度,并有利于未来的可操作性和可维护性。所以进行AOP编程的关键就是定义切入点和定义增强处理,一旦定义了合适的切入点和增强处理,AOP框架将自动生成AOP代理,即:代理对象的方法=增强处理+被代理对象的方法。原创 2024-08-03 15:36:52 · 479 阅读 · 0 评论 -
Spring泛型的依赖注入
泛型依赖注入就是允许我们在使用spring进行依赖注入的同时,利用泛型的优点对代码进行精简,将可重复使用的代码全部放到一个类之中,方便以后的维护和修改。同时在不增加代码的情况下增加代码的复用性。原创 2024-08-03 15:32:22 · 330 阅读 · 0 评论 -
Spring-component-scan标签详解
如果只希望扫描特定的类,不是扫描包里的所有类的时候,可以使用resource-pattern属性来指定只扫描的包。base-package: 指定spring扫描注解的类所在的包。这样配置,@controller注解的类的对象就找不到了!只是这样配置,上面test可以访问到所有的有注解的对象!首先,这标签是需要context的命名空间的。这样配置,除了User的对象,其他都找不到了!除了包含的注解以外的注解的类的对象都找不到了!配置在不扫描的类,可以有很多个这样的子标签。配置要扫描的类,也可以有多个。原创 2024-08-01 17:28:04 · 394 阅读 · 0 评论 -
Spring@Autowired注解
行两行给去掉,再运行,会抛出异常,因为,@Autowired注解要去寻找的是一个Bean,Tiger和 Monkey的Bean定义都给去掉了,Spring容器找不到了自然抛出异常。最后提一下,还有一个功能和@Autowired差不多的一个注解@inject,它是jsr330规范的注解,用它的话要导入相应的jar包,我们推荐使用@Autowired。1、删除其中一个实现类,Spring会自动去base-package下寻找Car接口的实现类,发现Car接口只有一个实现类,便会直接引用这个实现类。原创 2024-08-01 15:51:42 · 524 阅读 · 0 评论 -
Spring-用注解的方式来配置Bean概述
Component最初spring框架设计的,后来为了标识不同代码层,衍生出Controller,Service,Repository三个注解 作用相当于配置文件的bean标签,被注解的类,spring始化时,就会创建该对象。为了解决这两个问题,Spring引入了注解,通过"@XXX"的方式,让注解与Java Bean紧密结合,既大大减少了配置文件的体积,又增加了Java Bean的可读性与内聚性。@Value(value="188") //给值属性赋值,可以用在方法上或者属性上。原创 2024-08-01 15:35:06 · 413 阅读 · 0 评论 -
Spring-FactoryBean来配置Bean
spring通过FactoryBean配置,比前面的工厂方法配置Bean要重要些,因为我们整合很多第三方的框架的时候,需要用到FactoryBean来配置第三方框架中的bean 对象,从而把第三方框架整合到spring中来!当然在整合这些第三方框架的时候,这个FactoryBean一般都是我们引入的jar包中,人家给写好了的,我们会用就行,但知道原理也是好的。通过整合Quartz框架,来演示看看,实际项目应用中,是怎么用FactoryBean来将第三方框架整合进入spring的!1)定义工作任务的Job。原创 2024-07-31 21:21:05 · 288 阅读 · 0 评论 -
Spring通过工厂方法进行配置
工厂类CarStaticFactoryxml配置。原创 2024-07-21 15:24:00 · 586 阅读 · 0 评论 -
Spring中的bean的生命周期
在创建对象的过程是:先调用构造器,然后有属性值调用set方法设置属性,然后调用init-method属性值中所指定的初始化方法。我们这里对BeanPostProcessor接口,做一个实现类,原创 2024-07-21 15:14:55 · 264 阅读 · 0 评论 -
Spring的表达式语言spEL
Spring表达式语言(SpEL):是一个支持运行时查询和操作对象图的强大表示是语言,是一种可以与一个基于spring的应用程序中的运行时对象交互的东西。总得来说SpEL表达式是一种简化开发的表达式,通过使用表达式来简化开发,减少一些逻辑、配置的编写。语法类似于 EL:SpEL 使用 #{...} 作为定界符 , 所有在大括号中的字符都将被认为是 SpEL , SpEL 为 bean 的属性进行动态赋值提供了便利。原创 2024-07-17 13:49:10 · 437 阅读 · 0 评论 -
Spring使用外部的属性文件
我们说这样配置数据源,是可以实现, 但是我们不建议讲数据源配置在Spring的配置文件里,因为,这里会配置很多bean,而我们的数据连接的信息呢?开发完成后部署到生产环境是一定为修改的,迁移服务器时也会去修改,所以放到Spring的配置文件里,查找不是很方便,所以我们在实际项目中的一般做法是,将数据连接池的配置信息都是放到properties这种属性文件里的,单独放配置起来方便,不用找!首先,我们需要用到context的命名空间,然后用一个标签指定properties文件的位置就OK。原创 2024-07-17 13:41:39 · 309 阅读 · 0 评论 -
Bean的作用域配置
ApplicationContext在初始化的时候, 就实例化所有单列的Bean什么意思呢?原创 2024-07-16 14:01:13 · 195 阅读 · 0 评论 -
Spring配置Bean自己的关系:继承和依赖
用parent属性,配置要继承的bean,这样可以把相同的部分去去掉,下上两个bean的关系就变成了父bean和子bean, 子bean可以继承父bean属性, 也可以覆盖父bean的属性。父bean可以被配置为一个模板,只用来被继承,不被实例化,这样只要配置一个abstract属性值为true就可以了。注意,配置了abstract属性的抽象bean,必要的话,class属性都可以不配置的!注意: 这里可以配置依赖多个bean的,多个bean的时候,用逗号或空格隔开就行了。原创 2024-07-16 13:17:44 · 253 阅读 · 0 评论 -
Spring自动装配
事实上byType模式可能存一种注入失败的情况,由于是基于类型的注入,因此当xml文件中存在多个相同类型名称不同的实例Bean时,Spring容器依赖注入仍然会失败,因为存在多种适合的选项,Spring容器无法知道该注入那种,此时我们需要为Spring容器提供帮助,指定注入那个Bean实例。需要了解的是如果Spring容器中没有找到可以注入的实例bean时,将不会向依赖属性值注入任何bean,这时依赖bean的属性可能为null,因此我们需要小心处理这种情况,避免不必要的奔溃。原创 2024-07-16 13:14:32 · 227 阅读 · 0 评论 -
Spring容器Bean之XML配置属性的细节
前面的配置都是注入关联外部的bean, 内部bean也就是相对于外部bean而言的, 注意内部bean是不能被外面引用的:让多个bean去引用,会用到utility scheme将前面list,map,set这些集合的配置,拿出来,称为一个独立的单元,可以被多个bean引用:同过p命名空间,可以简化我们对bean的配置, 需要导入p的scheme:原创 2024-07-15 18:07:34 · 394 阅读 · 0 评论 -
Spring容器Bean之XML配置方式
我们采用xml配置文件的方式对bean进行声明和管理,每一个bean标签都代表着需要被创建的对象并通过property标签可以为该类注入其他依赖对象,通过这种方式Spring容器就可以成功知道我们需要创建那些bean实例。原创 2024-07-05 13:58:55 · 1292 阅读 · 0 评论 -
Spring解耦合分析和总结
这里我提出了一个新的概念依赖注入:所谓的依赖注入,其实是当一个bean实例引用到了另外一个bean实例时spring容器帮助我们创建依赖bean实例并注入(传递)到另一个bean中,如上述案例中的UserServiceImpl类依赖于UserDao的实现类UserDaoImpl,Spring容器会在创建UserService的实现类和UserDao的实现类后,把UserDao的实现类注入UserService实例中。但更为严重的是,我们一直倡导的松耦合,少入侵原则,这种情况下变得一无是处。原创 2024-07-05 13:50:41 · 578 阅读 · 0 评论 -
Spring入门案例
指的是对象的创建权反转(交给)给Spring,其作用是实现了程序的解耦合。就拿我们在前面讲JavaWeb入门中的MVC结构的持久层 [ 也即dao(data access object,数据访问对象)层 ] 的开发来说,官方推荐做法是先创建一个接口,然后再创建接口对应的实现类。用更通俗的话来说,IOC就是指对象的创建,并不是在代码中用new操作new出来的,而是通过Spring进行配置创建的。下载Spring的开发包,百度一下spring的官网, 这里使用Maven工具获取jar包。原创 2024-07-04 17:52:58 · 414 阅读 · 0 评论 -
Spring的概述和准备Eclipse的Spring工具插件
据度娘所载:Spring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式)轻量级开源框架。Spring的核心是控制反转(IoC)和面向切面(AOP)。简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式)轻量级开源框架。为什么说Spring是一个一站式的轻量级开源框架呢?原创 2024-07-04 17:47:28 · 974 阅读 · 0 评论 -
编写一个简单的Mybatis插件
通过注解@Intercepts来告诉Mybatis这个插件拦截哪个类和哪个方法。原创 2024-07-03 14:27:43 · 255 阅读 · 1 评论 -
Mybatis工作流程和插件开发
3.DefaultSqlSession.getMapper():获取到对应的Mapper接口的代理对象,MapperProxy(代理对象),这个代理对象里包含有Mapper接口里的所有方法以及和数据库之间的会话DefaultSqlSession对象,而这个对象又包含:对象DefaultSqlSession(configuration(所有配置信息), executor(执行sql的执行器), autoCommit);4.userMapper.selectByPrimaryKey(1):执行增删改查方法。原创 2024-07-02 16:34:52 · 545 阅读 · 0 评论 -
Mybatis和Spring、SpringMVC整合记录
Mybatis和Spring、SpringMVC整合记录2.在web.xml里做spring和springmvc的初始配置3.SpringMVC只扫描Controller和ControllerAdvice4.Spring排除扫描Controller和ControllerAdvice 5.jdbc.properties6.Spring的配置 7.log4j.properties 8.最后进行测试即可原创 2024-07-02 14:43:47 · 306 阅读 · 0 评论 -
Mybatis做批量操作
foreach只能处理记录数不多的批量操作,数据量大了后,先不说效率,能不能成功操作都是问题,所以这里讲一讲Mybatis正确的批量操作方法。原创 2024-07-01 14:37:52 · 409 阅读 · 1 评论 -
Mybatis的分页插件
Mybatis的分页插件原创 2024-06-05 02:25:15 · 369 阅读 · 0 评论 -
工具MyBatis Generator(MBG)
(Optionally)元素指定生成Mapper(即DAO)文件的目标package与目标project, 如果不指定这个元素就不会生成Mapper文件,至少一个table元素。元素指定生成Mapping XML文件的目标package与目标project。元素指定生成Model的目标package与目标project。以下元素就是MBG的最小配置。元素指定如何连接数据库。原创 2024-06-05 02:21:40 · 471 阅读 · 0 评论 -
【Mybatis】使用第三方缓存框架ehchache
内存中的缓存满了,装不下了,就放这里,注意:它是临时的文件, sessionFactory.close后, 这里的文件会自动删除!最近最少使用,缓存的元素有一个时间戳,当缓存容量满了,而又需要腾出地方来缓存新的元素的时候,那么现有缓存元素中时间戳离当前时间最远的元素将被清除缓存。只对eternal为false的有效。最少被使用,缓存的元素有一个hit属性,hit值最小的将会被清除缓存。指定对象的缓存配置,其中 name 属性为指定缓存的名称(必须唯一)在磁盘上缓存的最大对象数量,默认值为0,表示不限制。原创 2024-06-04 15:53:39 · 769 阅读 · 0 评论 -
Mybatis使用缓存的配置总结
false:哪怕上面1和2开启了二级缓存,二级缓存在这个select也会失效,查false(默认):如果在查询标签上把它设置为true,等于禁用所有缓存。增改删true(默认):执行增改删操作后,刷新缓存,把原来的缓存干掉,true(默认):上面1和2开启二级缓存后,二级缓存生效。STATEMENT:如果设置为这里,相当于关闭一级缓存。注意这个设置有点特殊,干掉的缓存包括一、二级缓存。false:关闭二级缓存,但一级缓存不受影响。没配置有:关闭二级缓存,一级缓存不受影响。ture(默认):开启二级缓存,原创 2024-06-04 15:46:09 · 723 阅读 · 0 评论
分享