- 博客(37)
- 收藏
- 关注
原创 SpringDataJPA详解
Dao层继承 JpaRepository<User,Integer>, JpaSpecificationExecutor<User>配置实体管理器工厂(注入数据源、配置实体包扫描、配置Hibernate供应商信息)getOne(主键) 懒加载会出现no session问题 解决方式。配置JPA数据增强(配置dao层包扫描、配置实体管理器、配置事务管理器)配置事务管理器(注入实体管理器工厂)findOne(主键) 及时加载。在测试类上标注读取配置文件。
2023-07-06 19:19:20
328
原创 JPA详解
3.在persistence.xml配置持久化单元,底层供应商,数据库信息(驱动、url、用户名、密码), Hibernate个性化配置(显示sql、格式化sql、自动建表)PA(Java Persistence API)是Java持久化规范,是ORM框架的标准,主流ORM框架都实现了这个标准。2.创建配置文件,在META-INF文件夹中创建persistence.xml。1.创建maven项目、导入Maven坐标。
2023-07-04 20:37:41
590
原创 SSM邮件发送
第二步:设置 – 账户 – POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 – 开启服务 – 获得授权码。第一步:登录邮箱账号。
2023-07-04 19:01:40
138
原创 IDEA2022.3.2创建第一个SpringMVC项目
然后在WEB-INF目录下添加你的Servlet名称-servlet.xml,例如:dispatcherServlet-servlet.xml,在里面配置控制反转。控制台输出打印我们测试的信息,表示搭建完成。先创建controller层。
2023-06-05 13:41:15
353
原创 Spring整合JDBC(dbcp,C3P0,Druid,JdbcTemplate )
【代码】Spring整合JDBC(dbcp,C3P0,Druid)
2023-06-02 15:21:26
369
原创 Spring核心思想(IOC丶AOP)
IoC就是Inversion of Control,控制反转。在java开发中,IoC意味着将你设计好的类交给系统去控制,而不是在你的类内部控制。这称为控制反转。高内聚就是把功能相关的模块集合在一起,例如:添加用户模块,就可以把用户的相关内容放在一起,比如添加用户个人信息,为用户绑定角色等。低耦合就是每个模块之间的关联性降到可控范围的最低,例如:有个购物车系统和商品是相关的,当加入购物车的时候,势必需要去执行商品相关的操作,这就是耦合,那所谓的低耦合,就是购物车降低对商品这块的联系。
2023-06-02 15:07:15
149
原创 Mybatis动态SQL
如果你使用过 JDBC 或其它类似的框架,你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。MyBatis中使用mysql的模糊查询字符串拼接(like) 中也涉及到bind的使用。创建一个 bind 元素标签的变量后 ,就可以在下面直接使用,使用 bind 拼接字符串不仅可以避免因更换数据库而修改 SQL,也能预防 SQL 注入。<if>元素是最常用的元素,它类似于Java中的if语句。item:表示数组或集合中的每一个数据。
2023-05-31 11:16:20
148
原创 Mybatis缓存机制
缓存(Cache)就是一个临时存储数据的地方,当我们读取数据时会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话再从内存中去找。
2023-05-29 21:08:46
203
原创 Mybatis懒加载、立即加载
懒加载也叫延时加载,就是在使用的时候才进行加载。例如,我们在用Mybatis进行一对多的时候,当我们有一个用户,他有几十个账户。在查询用户时,如果需要把关联的账户查出来,mybatis会再次发出sql语句进行查询,减轻了对我们数据库的压力。立即加载就是:不管用不用,只要一调用方法,马上发起查询。
2023-05-29 20:38:02
526
原创 Mybatis中一对多、多对一关系
type属性:最终需要封装的类型(当前resultMap所对应的方法的返回值)property属性:主键字段在实体类中的名称。property属性:多方实体类中的对方的属性。result子标签:用于标明字段中的除了主键字段外的其他字段。property属性:改字段在实体类中的名称。column属性:主键字段在数据库中的名称。resultMap属性:当查询到的字段是多个类中的信息的时候使用。parameterType属性:Dao层方法中的参数类型。id子标签:用于标明字段中的主键字段。
2023-05-29 15:50:22
146
原创 mybatis中#{}和${}的区别
MyBatis在处理#{}时,会将SQL中的#{}替换为?MyBatis在处理 $ { } 时,就是把 ${ } 替换成变量的值。#{}: 解析为一个 JDBC 预编译语句(prepared statement)的参数标记符,一个 #{ } 被解析为一个参数占位符。${}: 仅仅为一个纯碎的 string 替换,在动态 SQL 解析阶段将会进行变量替换。在mybatis中的$与#都是在sql中动态的传入参数。#{}是预编译处理,$ {}是字符串替换。sql语句中#{}表示一个占位符。
2023-05-25 16:09:06
135
原创 使用Mybatis搭建第一个工程
MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的 POJOs(Plan Old Java Objects,普通的 Java对象)映射成数据库中的记录。
2023-05-24 11:38:32
130
原创 IDEA2022.3.2创建Maven项目
Maven 提供了大量不同类型的 Archetype 模板,通过它们可以帮助用户快速的创建 Java 项目,其中最简单的模板就是 maven-archetype-quickstart,它只需要用户提供项目最基本的信息,就能生成项目的基本结构及 POM 文件。2.选择左侧maven,Catalog选择Internal,Archetype选择maven-archetype-quickstart,最后点击create创建。项目构建完成后,在该项目根目录中生成了一个名为 target 的目录,该目录包含以下内容。
2023-05-23 14:44:27
3527
原创 Maven介绍
Maven 是一款基于 Java 平台的项目管理和整合工具,它将项目的开发和管理过程抽象成一个项目对象模型(POM)。开发人员只需要做一些简单的配置,Maven 就可以自动完成项目的编译、测试、打包、发布以及部署等工作。
2023-05-23 09:26:14
160
原创 模糊分页、模糊查询分页
4.将pageinfo,所有部门 和查询条件存进model。1.接收jsp的查询条件参数,和当前页参数page。2.查询所有的学生信息。3.进行模糊条件查询。
2023-05-22 10:59:36
252
原创 使用AJAX实现系别、班级、学生的三级联动
4.在页面加载完毕的时候,要保证能获取到所有系部信息。三级联动就是三个级别相互依赖。5.系部和班级的联动。
2023-05-22 10:33:37
266
原创 java创建多线程的七种方式
通过自定义一个类(这里起名为:MyThread),继承Thread类,重写run方法,最后在main方法中new出MyThread实例,调用这个实例的继承的Thread类的start方法创建一个线程。工厂模式,将创建产品实例的权利移交工厂,我们不再通过new来创建我们所需的对象,而是通过工厂来获取我们需要的产品。降低了产品使用者与使用者之间的耦合关系;在Java中,线程池的本体叫ThreadPoolExecutor,他的构造方法写起来十分麻烦,为了简化构造方法,标准库就提供了一系列工厂方法,简化使用;
2023-05-16 16:27:45
2524
原创 Cookie和Session
会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话。有状态会话:一个同学来过教室,下次再来教室,我们会知道这个同学曾经来过,这称之为有状态会话。
2023-05-16 16:04:39
108
1
原创 IDEA2022.3创建javaweb项目
1.点击左上角file,选择new module2. 输入项目名称,选择项目地址,点击create创建3.右击刚才的项目名称,点击Add Frameworks Support4.在弹出的框内选择Web Alication,然后点击ok5.项目出现web目录,则表示创建成功
2023-05-16 14:56:28
1313
1
原创 Jrebel用户名中文导致用不了解决方案 JRebel-JVMTI [FATAL] Couldn‘t write to C:\Users\
【代码】Jrebel用户名中文导致用不了解决方案 JRebel-JVMTI [FATAL] Couldn‘t write to C:\Users\
2023-04-28 09:17:54
359
原创 MYSQL经典面试题(50)
LEFT JOIN (SELECT sc.sid f,score,cid g FROM sc WHERE cid=(SELECT cid FROM course WHERE cname="英雄联盟") LIMIT 0,3) d。LEFT JOIN (SELECT sc.sid f,score,cid g FROM sc WHERE cid=(SELECT cid FROM course WHERE cname="王者荣耀") LIMIT 0,3) k。
2023-04-13 09:30:04
1737
1
原创 Java基础知识小结(持续更新)
创建类的语法:class 类名称 {成员变量/ 实例变量;成员方法;创建对象的语法:类名称 引用名称 = new 类名称()例如://创建一个实例化对象//通过对象来调用实例变量,成员方法p.setBrand("小米");p.call();
2023-03-15 20:02:51
544
5
java小练习球场管理系统
2023-04-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人