java
TonySong111073
java培训、项目实训、企业架构、技术分享
展开
-
初始 RocketMQ 消息队列
spring boot整合RocketMQ原创 2023-02-07 15:30:09 · 560 阅读 · 0 评论 -
Springboot 开发 Web Flux
简单介绍WebFlux原创 2022-10-02 19:17:50 · 2706 阅读 · 2 评论 -
Mybatis 3.5 多对多实现
mybatis的多对多实现关联查询等原创 2022-09-04 16:18:49 · 327 阅读 · 0 评论 -
Spring MVC 如何实现RESTFull的 delete和put提交
Springmvc处理RESTFull的get、post、delete和put请求原创 2022-08-06 20:09:52 · 367 阅读 · 0 评论 -
Servlet 整合Thylemeaf (基于Maven构建)
基于Maven构建Servlet和Thylemeaf的整合原创 2022-08-06 18:57:21 · 809 阅读 · 0 评论 -
spring security 深入浅出(一) session认证方式(1)
深入浅出学习 spring security原创 2022-06-26 21:39:11 · 2033 阅读 · 1 评论 -
Spring5 mybatis3.5 整合Thymeleaf
页面效果:项目环境:idea 2019.3 mysql jdbc 8.0 maven架构:pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache..原创 2022-04-02 20:17:46 · 1397 阅读 · 0 评论 -
Mybatis3.5 教学笔记-2 一对一的实现
一个人有一个身份证,一个身份证属于一个人。定义表如下:SET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table structure for t_person-- ----------------------------DROP TABLE IF EXISTS `t_person`;CREATE TABLE `t_person` ( `pid` int(11) NOT NULL AUTO_INCREMENT, `原创 2022-03-30 20:21:42 · 1217 阅读 · 0 评论 -
Mybatis3.5.* 教学笔记-1
Mybatis3.5 教程原创 2022-03-30 17:47:35 · 1187 阅读 · 0 评论 -
Spriong Cloud 解决需要数据库配置的问题
在Spring Cloud 微服务程序中,有些模块是不需要配置数据库(或依赖)的,如何解决:原创 2021-11-04 21:02:54 · 359 阅读 · 0 评论 -
spring cloud mongodb 生产者、消费者实现crud
生产者部分:实体类:@Data@Documentpublic class Groups implements Serializable { @Id private String gid; private String gname;}@Document @Data public class User implements Serializable { @Id //mongo自动创建id private String id; @Inde原创 2021-11-01 22:05:26 · 154 阅读 · 0 评论 -
sprint boot 使用JPA 的ManyToMany 的问题
今天在项目中使用jpa的manyToMany时遇到一个问题。 进行多对多查询时,抛出一个异常:org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.example.jpa_two.entity.User.roles, could not initialize proxy - no Session,根据问题来看应当是没有session,(应该是懒加载的问题),添加如下配置原创 2021-10-25 22:45:04 · 302 阅读 · 0 评论 -
JDBC 事务
事务的开启是由JDBC驱动或数据库隐式决定的。Connection对象的autoCommit属性决定什么时候结束一个事务。启动自动提交后,会在每个SQL语句执行完毕后自动提交事务,当Connection对象创建时,默认情况下,事务提交是自动开启的。Connection接口中提供setAutoCommit()方法,可以禁用自动提交。此时,需要显示的调用Connection提供的commit()方法提交事务或rollback()回滚事务。 事务隔离级别用于指定事务中对数据的操作对其它事务...原创 2021-10-05 18:15:21 · 153 阅读 · 0 评论 -
JAVA JDBC 中获取自增字段的值
在进行业务处理时,经常会遇到获取关联表的主键作为该表的外键的操作,在mybatis中这个操作已经封装好了,那么JDBC是如何进行操作的呢?我们查看JDBC的API后发现,其实JDBC的Statement接口和PreparedStatement已经进行了封装。 pst=connection.prepareStatement("",Statement.RETURN_GENERATED_KEYS);参考代码: try { pst= connection.prepareSta原创 2021-10-05 17:19:20 · 366 阅读 · 0 评论 -
bootstrap的模式窗体实现修改
大家知道bootstrap中有个模式窗体,它可以实现ajax的数据操作,官方的文档中只是给出了如何实现,并没有给出在实际生产中如何使用,以下是最近教学过程中对model窗体的具体实现,希望有需要的读者可以参考一下。首先,页面导入所需的js文件和css文件,代码如下:<link href="<%=request.getContextPath()%>/css/bootstrap.min.css" rel="stylesheet"><script src="<%=r原创 2021-09-21 22:37:50 · 281 阅读 · 0 评论 -
基于Sevlet+JSP+JDBC+jQuery实现单页面的CURD
做为对单页面的学习和后期框架的应用来说,掌握基本(原始)的ajax方式实现CRUD尤为重要,做为一个教学案例希望对读者(尤其是初学者)希望能够起到一个抛砖引玉的作用,有不对的地方,还请多多批评。页面效果:项目结构:数据库:DAO:public interface IBookDao { String FIND_ALL="SELECT * FROM t_book"; String ADD_BOOK="INSERT INTO t_book(title,a.原创 2021-09-21 22:22:43 · 257 阅读 · 0 评论 -
Servler 生成随机验证码
import java.awt.Color;import java.awt.Graphics2D;import java.awt.image.BufferedImage;import java.io.IOException;import java.io.OutputStream;import java.util.Random;import javax.imageio.ImageIO;import javax.servlet.ServletConfig;import javax.servl.原创 2021-09-15 17:26:49 · 142 阅读 · 1 评论 -
Spring Boot +VUE 案例演示
项目整体效果:项目使用技术点: 数据层:mybatis 控制层:Spring mvc 界面层:VUE+ Bootstarp。 整体框架采用Spring Boot。项目结构:pom.xml: <properties> <java.version>1.8</java.version> <project.build.sourceEncoding>UTF-8</project.build.sour..原创 2021-02-23 09:01:28 · 462 阅读 · 1 评论 -
利用jstl 标签隐藏手机号码
项目中需要对敏感数据进行保护,例如:身份证、手机号码、银行卡号码等,页面展示时需要进行部分的隐藏从而达到保护隐私的目的,但是该数据往往从数据库中获取,数据量比较大,利用jstl直接在页面上实现往往是最简单的:实现步骤:1:导入jstl function<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> 2:页面调用 ${fn:substring(person.mobile,0,3)}**原创 2020-05-17 16:11:58 · 770 阅读 · 0 评论 -
基于JNDI 的SSM 实现 CRUD
MyBatis提供的数据源类型有三种:UNPOOLED,POOLED,JNDI。其中UNPOOLED这个数据源实现只是在每次请求的时候简单的打开和关闭一个连接,基本很少使用,我们使用比较多的无外乎POOLED(该方式也是MyBatis推荐的使用方式),JNDI方式使用的少,网上相关的资料也比较少,最近由于教学需要,简单的研究了一下,做了一个练习的小项目。希望能给大家带来点帮助,web项目(spri...原创 2020-04-20 18:54:34 · 341 阅读 · 0 评论 -
spring 缓存 spring cache 介绍和简单实现
我们知道缓存对于提高系统的性能有着非常重要的影响,spring在3.*的版本之后集成了cache技术,并且是基于annotation的实现,使用起来还是非常方便的。这里只是对spring cache做一个简单的了解。业务层实现如下:@Servicepublic class BookService { @Resource private BookMapper bookMapper...原创 2020-04-18 21:53:23 · 183 阅读 · 0 评论 -
spring 常用的三种数据库连接方式
第一种:DBCP连接池 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"destroy-method="close"p:driverClassName="${jdbc.driver}"p:url="${jdbc.url}"p:username="${jdbc.username}"...原创 2020-04-16 15:57:23 · 1005 阅读 · 0 评论 -
基于Mysql的存储过程的 SSM实现
首先创建存储过程,如下:获取总条目:drop procedure if exists sp_total;create procedure sp_total(IN $name varchar(20))begin if($name is null) then select count(id) from t_user; else select count(id) fro...原创 2020-04-13 19:54:26 · 386 阅读 · 0 评论 -
Spring mvc 和 Mybatis的注解实现动态分页
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springfram...原创 2020-04-11 20:58:07 · 174 阅读 · 0 评论 -
spring cloud vue thymeleaf实现CRUD的简单案例
现在关于Vue的实例说明很少,最近由于给学生们讲课,自己亲自做了一个Demo,贴出来与大家共享,还望大家多多批评指点。项目架构:1:创建pom(student-vue)项目,并导入如下依赖:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0....原创 2020-03-12 21:59:26 · 351 阅读 · 1 评论 -
JDBC+ 泛型DAO+Mybatis +存储过程+注解的数据层封装
通过传统的JDBC进行数据操作比较繁琐,但是无论hibernate也好,Mybatis也好底层都是对JDBC的调用,那么我们可不可以对JDBC(包括存储过程的操作)进行封装(并且打包为jar)从而简化我们的开发呢?答案是肯定的。首先封装分页工具类:package bw.song.jdbc.util;import java.util.List;/** * 分页工具类 * @aut...原创 2020-02-05 21:07:17 · 210 阅读 · 0 评论 -
基于hibernate的泛型dao实现
我们在进行hibernate开发时,因为hibernate是基于对象的ORM,所以由此我们可以在hibernate的基础上在做一层封装,从而大大简化我们的DAO层代码。首先封装一个分页工具类:Pager<T>public class Pager<T> { private int offset; private int pagesize; private L...原创 2020-02-03 15:52:44 · 197 阅读 · 0 评论 -
springboot JPA+Thymeleaf +Redis 项目案例
springboot 利用JPA+Thymeleaf+Redis实现一个简单的案例导入依赖:缓存配置文件:resources/config/下 mycache.xml<?xml version="1.0" encoding="UTF-8"?><ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchem...原创 2019-12-05 19:40:03 · 439 阅读 · 0 评论 -
spring3与hibernate4的整合
首先,spring与hibernate3整合时有三种方式:1、直接使用SessionFactory(该SessionFactory由spring管理并注入)的方式: @Resourcepublic void setSessionFactory(SessionFactory sessionFactory) {this.sessionFa原创 2013-11-08 09:23:42 · 8716 阅读 · 1 评论 -
Servlet3的异步实现
Servlet3 引入了一个新的特性,它可以原创 2014-11-24 11:38:58 · 568 阅读 · 0 评论 -
Spring3与MyBatis3.2的集成
本人使用的是MyBatis3.2.2这个版本首先在项目中导入mybatis3.2.2的jar包和mybatis-spring-1.2.1.jar包以及jdbc和spring的jar和相关jar包: 创建实体类:package com.tc.spring.mybatis.demo.model;public class Book { private Intege原创 2013-11-08 10:37:55 · 1630 阅读 · 0 评论 -
Hibernate框架(企业关注的技能)
Hibernate 框架1、Hibernate框架主要解决什么问题? 参考答案:Hibernate是一个ORM框架,即对象关系映射框架。能够将java类与关系数据库表进行映射,同时提供面向对象的数据查询(操作)机制,能够最大程度缩短程序员在SQL和JDBC上的编程时间,从大量的数据持久层编程工作中解脱出来。2、Hibernate属性文件主要包括哪些内容?原创 2013-09-03 22:01:16 · 818 阅读 · 0 评论 -
Spring框架(企业关注的技能)
Spring框架部分1、什么是Ioc?作用是什么? 参考答案:Ioc即控制反转,也被称为DI(依赖注入)。Ioc的意思是,将对象的创建以及装配过程交给容器实现,而不再使用代码进行。使用Ioc创建与装配对象,能够使得应用可以不管将来具体实现,完全在一个抽象层次进行描述和技术架构,使得应用的可扩展性提高。2、什么是AOP?作用是什么? 参考答案:AOP(Aspect Ori原创 2013-09-03 21:59:42 · 848 阅读 · 0 评论 -
SSH企业关注的技能
Struts2框架---------------------------------------------------------------------------------------------------------------------a) 说明Struts2框架的工作原理: 要点:掌握一个框架,首先必须了解这个框架的工作原理,企业关注应聘者对常用框架的工作原原创 2013-09-03 15:11:48 · 750 阅读 · 0 评论 -
java的位运算的意义
最近,由于工作原因在编写教材时,对java的位运算进行了深入了解,现记录如下。 首先要明白一个概念,Java位运算是针对于整型数据类型的二进制进行的移位操作。主要包括位与、位或、位非,有符号左移、有符号右移,无符号右移等等。需要注意一点的是,不存在无符号左移<<<运算符。根据位运算的概念规定,我们首先需要弄明白两个问题,java有哪些数据类型是整型数据类型和...原创 2018-03-08 10:11:46 · 6652 阅读 · 1 评论 -
spring boot 初步 IOC 的实现-1
spring boot 借助于其强大的注解功能,帮助我们快速实现。这里简单介绍一下有关IOC的几个注解。FunctionService类:(业务类)package bw.swn.boot.service;import org.springframework.stereotype.Service;@Servicepublic class FunctionService {...原创 2019-03-06 09:20:10 · 880 阅读 · 0 评论 -
spring boot 初步 IOC实现-2
FunctionService:业务类(注意:没有@Service注解)package bw.swn.boot.service;public class FunctionService { public String sayHello(String name) { return "Hello "+name+" !"; }}UseFunctionService:调用类...原创 2019-03-06 09:29:03 · 616 阅读 · 0 评论 -
使用Filter解决重复提交
重复提交是软件中的一个比较严重的问题,轻则会导致数据重复,增加服务器负担,重则导致服务器宕机。因此需要对重复提交进行处理。导致重复提交的原因主要是因为HTTP协议是“无状态”的,也就是说客户端每次发送的请求服务器没有“记忆”功能,而解决“无状态”的问题一般是通过以下4种技术进行解决的:1:表单隐藏域(<input type="hidden" .....>)...原创 2019-09-30 20:53:44 · 2031 阅读 · 0 评论 -
再谈 public static final 关键字
我们看如下代码:public class Demo { public static final int m=100; public final static int n=200; final static public int x=10; final public static int y=20; static final public int a=30; static pub...原创 2019-03-10 23:09:11 · 2043 阅读 · 0 评论 -
spring mvc 中的日期操作
在使用spring mvc中如果实体类的数据类型是java.util.Date类型时,会导入400异常:此时只需要在控制器中添加如下代码即可解决问题: @InitBinder public void initBinder(WebDataBinder binder) { SimpleDateFormat dateFormat = new Sim...原创 2019-03-08 09:34:50 · 220 阅读 · 0 评论