代码笔记
只恨天高
这个作者很懒,什么都没留下…
展开
-
SpringBoot-配置文件中使用随机值和使用变量
如果没定义还可以设置默认值原创 2024-06-24 15:14:38 · 56 阅读 · 0 评论 -
SpringBoot-注解@ImportResource引入自定义spring的配置xml文件和配置类
用这个配置类代替spring.xml,所有他们之间存在一个一一对应的关系。原创 2024-06-23 16:30:53 · 183 阅读 · 0 评论 -
SpringBoot-注解@PropertiySource读取外部属性文件
ConfigurationProperties和@Value两个注解能从配置文件中获取数据,但是前面讲了他们是从。把原本在全局配置文件中的配置数据移动到user.propertis文件里,然后在User类上的。中获取,那么如果是一些。原创 2024-06-23 16:26:27 · 136 阅读 · 0 评论 -
SpringBoot-通过注解@Vuale从全局配置文件中获取数据
让JavaBean的所有属性和全局配置文件中配置项建立关联关系外,我们spring提供了一个@Value注解,获取全局配置文件中的某个配置项的数据。① 当我们有JavaBean与全局配置文件里的数据对应的时候,我们就用。② 当我们只是需要配置文件中某一个值的时候,就用@Value注解。不支持复杂的类型绑定,比如${user.map}是读不出数据的。支持spring的表达式的写法,#{12+13}支持复杂的类型绑定,比如Map,List。是和JavaBean的所有属性绑定。不支持spring表示式的写法。原创 2024-06-23 16:21:58 · 211 阅读 · 0 评论 -
通过注解@ConfigurationProperties和全局配置文件中配置数据绑定
注意:读属性文件出现中文出现乱码的解决办法在settings里。需要一个依赖,这个依赖会给我们自动代码提示。原创 2024-06-23 16:19:24 · 109 阅读 · 0 评论 -
通过注解@ConfigurationProperties和全局配置文件中配置数据绑定
注意:如果加上了依赖,但是仍然没有在yml配置文件里提示,解决办法,重新Build一下项目。(springboot的单元测试支持对象注入比junit安逸多了)注意:读属性文件出现中文出现乱码的解决办法在settings里。需要一个依赖,这个依赖会给我们自动代码提示。原创 2024-06-20 13:29:50 · 155 阅读 · 0 评论 -
SpringBoot的配置文件和YAML文件的语法
除了properties文件可以做为SpringBoot的配置文件以外,SpringBoot还支持一种我们以前没接触过的配置文件,这就是YAML配置文件。④ 字符串默认不用引号引起来,在值里用“不会转义特殊字符,\n会换行”,‘会转义特殊字符,\n会输出’, 这个是默认Spring initializr默认自动生成的配置文件,也是我们属性的文件格式。⑤ 对象或Map集合的表示方法有两种,一种是用换行+缩进,另一种是利用大括号。注意:键值对中的值前面必须有空格,多少个无所谓,但必须有,这是语法。原创 2024-06-20 13:21:32 · 223 阅读 · 0 评论 -
快速创建SpringBoot项目
(3)application.properties: SpringBoot的配置文件,在这里可以修改SpringBoot的默认配置。(2)templates:用来存放freemarker或者thymeleaf的模板。使用new spring starter project来创建,其他的和上面一样。(1)static:是用来存放静态资源的,比如css,js,img....使用Spring Initializr。原创 2024-06-19 14:10:33 · 246 阅读 · 0 评论 -
对SpringBoot入门案例的关键点
的第一个参数的意义:让spring boot知道ApplicationMain所在的包以及这个包下的所有子包,是spring的扫描组件范围,只有在这个范围的controller,service,dao里的组件类才能被spring扫描到,并且初始化对象,放入到spring的ioc容器里!①注解@SpringBootApplication声明有这个注解的类是主类,是spring boot的执行的入口,没有这个注解注解的类,就没有入口,没有入口,应用就启动不了。原创 2024-06-18 16:55:40 · 221 阅读 · 0 评论 -
SpringBoot的入门案例
遇到8080端口被占用的处理方法,在dos输入指令:netstat -ano | findstr 8080 ,然后在输入指令:taskkill -pid 3168 -f,执行。打出的jar包,可以直接用java -jar xxxx.jar命令运行。因为pom.xml中引入了maven的插件,可以直接用maven打包。双击package打包。原创 2024-06-18 16:42:26 · 196 阅读 · 0 评论 -
SpringBoot的简单介绍
简单的说,spring boot就是整合了很多优秀的框架,不用我们自己手动的去写一堆xml来进行配置。从本质上来说,Spring Boot就是Spring,它做了那些没有它你也会去做的Spring Bean配置。它使用“习惯优于配置”(项目中存在大量的配置,此外还内置了一个习惯性的配置,让你无需手动进行配置)的理念让你的项目快速运行起来。原创 2024-06-17 12:37:04 · 308 阅读 · 0 评论 -
MyBatis-自定义typeHandler处理枚举类型
枚举类的使用原创 2024-06-16 19:24:05 · 239 阅读 · 0 评论 -
编写一个简单的Mybatis插件
1.编写一个类,实现Intercepter这个接口2.完成这个类的方法,并通过注解@Intercepts来告诉Mybatis这个插件拦截哪个类和哪个方法3.在Mybatis的全局配置文件里注册这个插件,让插件生效4.玩一个实际功能的插件原创 2024-06-16 19:20:09 · 208 阅读 · 1 评论 -
Mybatis工作流程和插件开发
获取到对应的Mapper接口的代理对象,MapperProxy(代理对象),这个代理对象里包含有Mapper接口里的所有方法以及和数据库之间的会话DefaultSqlSession对象,而这个对象又包含:对象DefaultSqlSession(configuration(所有配置信息), executor(执行sql的执行器), autoCommit);:先根据配置文件(包含了全局配置文件和映射配置文件)初始化一个对象Configuration(这里对象里包含了所有配置文件里的标签信息,这里包含的每个。原创 2024-06-16 19:17:39 · 787 阅读 · 0 评论 -
Mybatis调用存储过程
在Mapper接口里创建方法,和普通的查询数据方法没区别。原创 2024-06-15 14:28:15 · 172 阅读 · 1 评论 -
Mybatis做批量操作
动态标签foreach,做过批量操作,但是foreach只能处理记录数不多的批量操作,数据量大了后,先不说效率,能不能成功操作都是问题,所以这里讲一讲Mybatis正确的批量操作方法:在获取opensession对象的时候,我们可以传入参数,告诉Mybatis我要批量操作测试批量插入10000条记录原创 2024-06-15 14:24:47 · 1047 阅读 · 0 评论 -
Mybatis做批量操作
foreach只能处理记录数不多的批量操作,数据量大了后,先不说效率,能不能成功操作都是问题,所以这里讲一讲Mybatis正确的批量操作方法。原创 2024-06-13 15:41:32 · 125 阅读 · 0 评论 -
Mybatis的分页插件
/PageInfo包含了非常全面的分页属性 assertEquals(1, page.getPageNum());原创 2024-06-13 15:39:19 · 266 阅读 · 0 评论 -
Bybatis动态SQL的绑定和公共sql语句片段
讲到这里,就单纯的Mybatis的基本使用的知识点,基本讲完了,也就是说凭着前面讲过的知识点,你就可以将Mybatis用起来了,但是实际上想要真正在项目开发上用好Mybatis需要的知识点还有很多,比如它的第三方插件通用Mapper,增强工具插件mybatis-plus,分页插件Mybatis_PageHelper,调用存储过程,和spring框架的整合,根据特殊的项目需要编写自己的插件,还有官方提供的自动生成xml和pojo类的Mybatis Generator工具等等,这些知识点。原创 2024-06-12 16:52:54 · 309 阅读 · 1 评论 -
Mybatis-动态SQL的绑定和公共sql语句片段
讲到这里,就单纯的Mybatis的基本使用的知识点,基本讲完了,也就是说凭着前面讲过的知识点,你就可以将Mybatis用起来了,但是实际上想要真正在项目开发上用好Mybatis需要的知识点还有很多,比如它的第三方插件通用Mapper,增强工具插件mybatis-plus,分页插件Mybatis_PageHelper,调用存储过程,和spring框架的整合,根据特殊的项目需要编写自己的插件,还有官方提供的自动生成xml和pojo类的Mybatis Generator工具等等,这些知识点。原创 2024-06-12 01:21:08 · 221 阅读 · 2 评论 -
Mybatis-动态SQL内置参数
这个内置参数是接口方法传过来的参数的整体的应用,两种情况,一是如果接口方法传来的是单个参数,_parameter就是这个单参数的值,另一种情况是接口方法传来了多个参数的时候会被封装为一个map对象,_parameter就是这个map对象的引用变量。①前面为了适应多数据库查询,我们在写sql的select语句的时候,每个数据库对应写一个单独的标签,然后用databaseId来指定它所属数据库,现在用_databaseId内置参数和动态sql结合,我们就可以只写一个标签。原创 2024-06-12 01:17:15 · 316 阅读 · 0 评论 -
Mybatis-使用缓存的配置总结
false:哪怕上面1和2开启了二级缓存,二级缓存在这个select也会失效,查false(默认):如果在查询标签上把它设置为true,等于禁用所有缓存。增改删true(默认):执行增改删操作后,刷新缓存,把原来的缓存干掉,true(默认):上面1和2开启二级缓存后,二级缓存生效。STATEMENT:如果设置为这里,相当于关闭一级缓存。注意这个设置有点特殊,干掉的缓存包括一、二级缓存。false:关闭二级缓存,但一级缓存不受影响。没配置有:关闭二级缓存,一级缓存不受影响。ture(默认):开启二级缓存,原创 2024-06-11 17:59:32 · 184 阅读 · 0 评论 -
【Mybatis】关联查询的对象是集合的处理
前面我们假设的是一个用户只能绑定一个角色,但实际上权限管理模型中,用户和角色之间是多对多的关系,也就是说,一个用户可以有多个角色与之绑定,所以在User对象中,角色的属性就必须是一个集合。把前面的三表联合查询,变量两段,先查出user对象,然后在根据user_id查询出对应的角色list集合。原创 2024-05-30 13:48:37 · 230 阅读 · 0 评论 -
【Mybatis】在分步查询的基础上配置懒加载
Mybatis作为一个优秀的ORM框架当然也支持懒加载,和Hibernate不同是,它默认情况下是禁止了懒加载的,要使用懒加载需要手动的开启,开启的方法就是配置两个全局变量:原创 2024-05-30 13:43:02 · 201 阅读 · 0 评论 -
【Mybatis】映射文件中#{}里的其他属性
表示:如果这个字段为null,对应的数据类型也是null,oracle就能识别了。解决办法在对应的接收参数的#{}里设置jdbcType属性值为NULL。原创 2024-05-29 02:49:08 · 320 阅读 · 0 评论 -
【Mybatis】映射文件中获取参数的符号#{}和${}的区别
烦是原生的jdbc不能使用占位符的地方,就只能使用它,因为PreparedStatementd中,可以用占位符的地方之后,where条件语句的参数中,其他地方不能用,比用表名称,order by 排序字段,这些地方是不能用?在xml映射文件中获取参数的符号都是用的#{}的方式,其实Mybatis还支持另一种符号来接收传递过来的参数值,就是${},他们是区别就在与底层使用jdbc的statement不一样。反应在sql语句的异同就是用不用。原创 2024-05-29 02:45:50 · 289 阅读 · 0 评论 -
【Mybatis】映射文件实现对sb_users增删改查
SQL 映射文件有很少的几个顶级元素(按照它们应该被定义的顺序):增改删是可以直接设置返回值的,int, long, boolean 都可以是返回值类型,int 和long返回影响数据库条数,boolean影响的条数大于零就是true原创 2024-05-28 01:07:30 · 302 阅读 · 0 评论 -
Mybatis-全局配置文件多数据库支持
这个工作,将已经完成的应用上修改,工作量就有点大了,所以我前面说mybatis灵活,但它是半自动ORM框架,所以夸数据库上麻烦一些!就这么简单到变态,其他什么都不用更改,更换底层使用的数据库就完成了!2.在mapper映射文件里,为每条sql语句标注属于哪个数据产品的。3.hibernate.cfg.xml中的数据库方言换了。4.mapping映射文件中的主键自增长策略换了。3.在全局配置文件中为每个数据库配置一个环境。2.spring.xml中把相应的值换了。1.在全局配置文件中配置数据库厂商标记。原创 2024-05-20 20:07:41 · 210 阅读 · 0 评论 -
MySQL的事务处理
注意:默认MySQL是开启自动提交事务的,用show variables like 'autocommit';①隐视事务:事务没有明显的开始和结束的标记.这时候像insert语句,update语句和delete语句,每一条SQL语句就默认是一个事务。②显示事务:说白了,这个事务模式,就要我们中程序中手动的用命令来开启事务,和结束事务,并让事务里的多条SQL语句去执行.②:编写事务中的SQL语句(主要是:select update delete insert等语句)回滚事务,恢复数据库执行前的状态!原创 2024-04-28 01:13:13 · 260 阅读 · 0 评论 -
MySQL修改表时添加和删除约束
修改表时添加和删除约束。原创 2024-04-25 01:29:10 · 164 阅读 · 0 评论 -
MySQL主键和唯一两个约束的区别和外键的特点
如:CONSTRAINT pk PRIMARY KEY(id,s_name),id和s_name组合起来成表的一个主键。④插入数据时,先插入主表,在插入从表;删除的时候,要先删除从表记录,在删除主表的记录。③主表上的关联列必须是一个key(一般是主键,很少时候也可以是唯一键)②从表上的列和主表上的对应的关联列的数据类型必须一致,含义意义一致。在同一个表中可以将多个字段组合成一个唯一约束(不推荐)在同一个表中可以将多个字段组合成一个主键(不推荐)在同一个表中唯一约束可有很多个。在同一个表中主键只能有一个。原创 2024-04-25 01:26:43 · 129 阅读 · 0 评论 -
MySQL常见的约束
限制,限制我们表中的数据,保证添加到数据表中的数据准确和可靠性!凡是不符合约束的数据,插入时就会失败,插入不进去的!比如:学生信息表中,学号就会约束不可重复!原创 2024-04-24 02:26:29 · 306 阅读 · 0 评论 -
【数据库】MySQL数据表记录改操作
修改语句:作用修改记录里的部分值。原创 2024-04-19 02:12:55 · 295 阅读 · 0 评论 -
MySQL常见函数的讲解
扩展用法:去掉前后两端的其他字符:select trim('a' from 'aaaaa字符aaaaa去掉aaaaa');7.lpad('目标字符串',10,'填充字符');select instr('目标字符串','字符串');5.instr('源字符串','子字符串'):作用返回子字符串子源字符串里的起始索引.9.replace('目标字符串','被替换子串','用于替换的新串')替换。select replace('目标字符串','字符','哈哈');原创 2024-04-18 01:24:44 · 377 阅读 · 0 评论 -
【Java】spring+springmvc+hibernate最完整整合配置教程
【Java】spring+springmvc+hibernate最完整整合配置教程。SpringMVC只扫描Controller和ControllerAdvice。Spring排除扫描Controller和ControllerAdvice。原创 2024-04-17 04:21:28 · 409 阅读 · 0 评论 -
【Java】Spring的概述
举例来说,在之前的操作中,比方说有一个类,我们想要调用类里面的方法(不是静态方法),就要创建类的对象,使用对象调用方法实现。对于Spring来说,Spring创建对象的过程,不是在代码里面实现的,而是交给Spring来进行配置实现的。首先轻量级:轻量级不是指Spring框架的模块少,数量很轻,这里的轻量级是指Spring框架的非侵入性,意思是说开发应用中的对象可以不必依赖Spring的API类。Spring就是一个大工厂,可以将所有对象的创建和依赖关系的维护,交给Spring管理。为什么用Spring。原创 2024-04-15 02:55:29 · 348 阅读 · 1 评论 -
Hibernate框架
我们可以从度娘上摘抄这样有关Hibernate的介绍:Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO(简单java对象)与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用。原创 2024-04-12 17:49:09 · 471 阅读 · 0 评论