自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 解决linux定时crontab执行java、jar 执行不了,没反应的问题 配置crontab中java环境变量

使用crontab,执行一个shell脚本,shell脚本里面的内容是 java -jar 或者是 java HelloWorld 这样的指令,通过crontab -e 指定了执行的时间,但是到了时间java程序没有执行。:公司有一个jar包在服务器上跑着,这个项目每过一段时间就会内存飚高,使用arthas也没分析出哪里的问题(本人技术有限),想了个笨方法,每天晚上12点将这个项目kill掉,然后重新启动,这样就不会内存飚高了,结果发现crontab执行的shell脚本时不能执行java这个指令。

2024-07-16 23:21:11 1206 2

原创 AspectJ实现方式(注解方式)

使用AspectJ框架实现AOP(给一些已经存在的类和方法,增加额外的功能【前提是不改变原来类的代码】)实现步骤先创建一个maven工程加入spring依赖加入aspectj依赖创建目标类:必须有接口和他的实现类(不懂AOP的相关术语可以查看上一篇)//接口public interface SomeService{ void doSome();}//实现类@Service //创建对象并放到IOC容器里面,让spring管理public class SomeServ

2020-10-04 00:13:55 1404 3

原创 spring AOP实现和切入点表达式

AOP实现AOP是个规范,是动态代理的规范化,一个标准AOP的技术实现框架Spring:spring内部中实现了AOP规范,能做AOP的工作spring主要在事务处理时使用AOP我们项目开发中很少使用springAOP,因为springAOP太笨重AspectJ:一个专门做AOP的框架,是业内最优秀,专业的AOP框架。spring中已经集成了AspectJ框架,所以通过spring就能直接使用AspectJAspectJ框架的使用切面的执行时间,这个执行时间在规范中,叫做 通知

2020-10-02 17:01:17 400

原创 spring-对AOP的理解

AOP面向切面编程AOP (Aspect Orient Programming) 面向切面编程是从动态角度考虑程序的运行过程AOP底层,就是采用动态代理模式实现的,采用了两种代理,JDK的动态代理和CGLib的动态代理实际上AOP就是动态代理的一种规范化,因为动态代理种类繁多,掌握较难,所以就规范了一套统一的方式,这就是AOPAOP把动态代理的实现步骤,方式都定义好了,让开发人员用一种统一的方式,去用动态代理。动态代理实现方式(两种)JDK:JDK动态代理,要求jdk中有Proxy,Me

2020-10-01 17:50:39 199

原创 spring通过注解给组件进行依赖注入

注解方式注入简单类型通过@Value注解来给对象注入属性@Value:只能对简单类型进行注入属性:@Value(value=“xxx”) value是String类型,表示简单类型的属性值@Value注解使用位置(两种方式):在属性定义上面,无需set方法,推荐使用,底层是使用反射机制对属性赋值@Componentpublic class Student{ @Value(value="张三") private String name; @Value(value="25") p

2020-09-30 19:25:42 348

原创 spring通过注解给容器中添加组件

注解方式注入通过注解的方式完成对java对象的创建,属性赋值使用注解的步骤添加maven依赖- 在添加spring-context依赖时,会自动的添加spring-aop ,spring-beans …<!--Spring 依赖--><dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId&gt

2020-09-29 14:37:06 418

原创 spring依赖自动注入(xml方式)/多个配置文件的规则

引用类型的自动注入spring框架根据某些规则可以给引用类型赋值只针对引用类型的赋值,简单类型做不了自动注入的规则:byName / byType1. byName:按照名称注入java类中引用类型的属性名和spring容器中(配置文件中)的bean的id是一样的并且数据类型是一致的,这样的容器中的bean spring能够自动赋值给引用类型需要在bean标签上添加autowird="byName"属性<bean id="school" class="com.yixuexi.te

2020-09-28 20:59:14 625

原创 spring 依赖注入==属性赋值

在spring中给java对象赋值DI :依赖注入(创建对象,并给属性赋值的意思)DI实现方式有两种在spring的配置文件中,使用标签和属性完成,叫做基于xml的DI实现使用spring中的注解,完成属性赋值,叫做基于注解的DI实现DI的语法分类set注入 (设值注入):spring调用类的set方法,在set方法可以完成属性的赋值【80%人使用】。构造注入:spring调用类的构造器,创建对象,在构造中赋值。spring中对数据类型的定义简单数据类型:spring中规定了

2020-09-27 11:22:02 1075

原创 spring快速搭建一个项目

本篇讲述如何快速创建出来一个spring项目使用maven快速创建一个java项目。2.添加spring依赖<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.2.5.RELEASE</version></dependency>随便创建

2020-09-26 14:25:16 862

原创 spring 核心技术 IOC容器是什么

什么是IOC容器英文:Inversion of control (控制反转)描述:把对象的创建,赋值,管理工作交给代码之外的容器实现,也就是对象的创建是由其他的外部资源来完成的控制:创建对象,对象属性赋值,对象之间的关系管理反转:把原来的开发人员管理,创建对象的工作交给外码之外的容器实现,由容器代替开发人员管理、创建、赋值。什么是正转:由开发人员手动创建对象 通过new 创建对象控制反转:在这个容器里面,这个容器代替了人员创建对象,赋值,管理的工作。为什么使用IOC对象的管理更加松散

2020-09-25 22:46:02 205

原创 一篇让你明白什么是spring框架

了解springspring是什么?简单的来说spring是分层的javase/javaee应用,轻量级开源框架,以IOC和AOP为内核怎么使用springspring也是一个容器,里面存放java对象让容器完成对象的创建,对象之间关系的管理【属性赋值】我们可以在容器中获取到想要得到的对象什么样的对象放到容器中dao对象service对象controller对象…spring容器中的对象默认都是单例的不放到spring容器中的对象实体类对象servlet监听器

2020-09-24 18:15:35 271

原创 mybatis缓存 一级缓存,二级缓存

什么是缓存存在于内存中的临时数据为什么使用缓存减少数据库交互的次数,提高执行效率适用于缓存的数据经常查询的数据不经常改变的数据数据的正确与否对最终结果影响不大的以上反过来就是不适用于缓存的数据 ,例如:商品的库存,银行的汇率一级缓存他指的是MyBatis中SqlSession对象的缓存当我们执行查询之后,查询的结果会同时存入得到SqlSession大为我们提供的一块区域中该区域是一个Map当我们再次查询同样的数据,MyBatis会先去SqlSession中查询是否有,

2020-09-24 00:50:41 114

原创 mybatis多对多联合查询

多对多前提多对多关系怎么设计表多对多,三张表,关系表,两个外键学生表,教师表 ,学生教师关系表【两个外键】多对多映射- 各自包含对方一个集合引用- 当我们查询用户是,可以同时得到用户所包含的角色信息- 当我们查询角色是,可以同时得到角色的所赋予的用户信息实现示例:用户和角色一个用户有多个角色 user一个角色可以分配给多个用户 【典型的多对多关系】 role准备好的SQL语句查询身份并且显示对应的用户信息SELECT u.*,r.id AS

2020-09-22 20:18:37 298 1

原创 mybatis多表联合查询,一对多

一对多关键账户表的外键引用了用户表的主键,那么说账户表是从表,用户表是主表一对多的关系映射:主表实体中应该包含从表实体的集合引用前提:两张表:用户表user,账户表account账户表中有外键引用用户表的主键用户表实体类和账户表实体类的toString一定要重写(不然查询出来的时候看不出来)实现在UserDao中定义一个方法public interface UserDao{ //查询所有用户和 List<User> findAll();}User实体类中

2020-09-21 12:53:52 178

原创 mybatis多表查询,一对一查询

一对一前提条件什么时候会用到一对一?假设有两张表,一张用户表,一张账号表,用户只能有一个账户,而用户信息和账户信息都放到一张表里就很显得数据很冗余。所以就分出来两张表。假设一款游戏,要做登录验证,用户名和密码就可以单独出来一个表,因为登录的时候只查询的是用户名和密码,所以单独一个表出来是最佳方案,这样查询速度快, 同时用户密码表也要关联上用户信息表。一对一设计的两种方案主键共享 (pk+fk)外键唯一 (fk+unique)一对一查询一对一查询有两种方式1. 创建子类 (不常用

2020-09-20 11:52:07 1384

原创 mybatis动态sql,if 标签,where标签,foreach标签

动态SQLmybatis的灵魂是什么?mybatis的灵魂就是动态SQL!if标签 在映射配置文件中这样写<select id="findUserByCondition" resultType="com.yixuexi.entity.User" parameterType="com.yixuexi.entity.User"> <!-- 使用if标签 where 1=1不能省略 --> select * from user where 1 = 1 <if t

2020-09-19 19:40:02 566

原创 mybatis typeAliases 给实体类起别名

typeAliases在我们开发中,Mapper中的实体类每次都要写上包名,是不是特别的麻烦针对这一现象,myabtis提供了解决方案,简化开发 typeAliases标签第一种用法在主配置文件中 配置【不是映射文件,而是主配置文件】<typeAliases> <!--type:实体类的具体全限定类名, alias:别名--> <typeAlias type="com.yixuexi.entity.User" alias="User" /></

2020-09-18 08:27:19 586

原创 mybatis resultMap解决属性和字段名字不一致问题

解决实体类属性和列名不一致的两种解决方案第一种(执行效率快,开发效率低)类中的属性为id,name,password数据库中的字段为 user_id, user_name,user_password为了能让数据库查询到的数据封装到User对象中去 可以采用起别名的方式在映射文件中应该这么写<select id="findAll" resultType="com.yixuexi.entity.User"> select user_id as id,user_name as n

2020-09-17 18:31:14 780

原创 MyBatis通过id查询,like查询,总记录数【详解like查询】

根据id查询在dao接口中创建方法public interface userDao{ //通过id查询用户的方法 User findOne(Integer id);}在映射配置文件中写SQL

2020-09-16 18:57:45 743

原创 mybatis保存后返回自增主键值id

保存细节,获取保存数据的id每次保存用户后,往往需要数据库返回的自增的主键值,进行下一步工作【给用户增加权限…】如果没有保存完成后返回id这个功能。那么我们就需要在进行一次查询,这对我们来说是极其痛苦的,不光要多写SQL,多写方法,对我们来说时间是最宝贵的,项目经理给你做模块的时间一般都是不够用的。如果时间都用来写无营养的SQL,那么就避免不了加班了。下面就来说一下怎么怎么实现首先我们知道,在MySQL数据库中有这么一个函数 last_insert_id();此方法会查询到最后一次保存的id-

2020-09-15 14:26:45 5442

原创 MyBatis增删改

增在搭建好环境的基础上【上一篇有搭建环境详细介绍】在dao中创建一个抽象方法public interface UserDao{ //用户保存的方法,保存一个 int saveUser(User user);}在映射配置文件写SQL语句 【每个Dao都应该有一个对应的映射文件】<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3

2020-09-14 20:55:21 147

原创 MyBatis环境搭建和入门案例

环境搭建首先创建一个maven项目,在pom文件中加入MyBatis依赖【同时也要有MySQL的依赖】依赖,可以从maven中央仓库找到<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.5</version></dependency><!--my

2020-09-13 10:37:41 208

原创 第一个优快云博客

第一个优快云博客自我介绍我是一名在校大学生,男,20岁,1年码领,目前在学习SpringBoot框架,初次写博客,多多关照。创建博客的目的有好多人都在说,你怎么不写博客,有的学长也在给我说:写博客吧!能认识好多大牛,哈哈哈哈!这就是我写博客的目的。一就是为了认识大牛,二是温故而知新博客内容1.把学习到的知识点做一个总结。2.发布踩到的坑【java坑多】明后几天我会把SSM的一些重要的知识点在我的账号中以博客的方式发布出来。第一次使用md,不怎么熟练,多用用就会了!!冲冲冲

2020-09-13 03:31:04 89

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除