04 2022 档案
摘要:html: JS代码: <script type="text/javascript"> $(document).ready(function () { showAddressList(); }); function showAddressList() { $("#address-list").emp
阅读全文
摘要:读锁:共享锁 readLock 写锁:独占锁 writeLock 不允许其他事务对当前数据进行修改和读取操作 MySQL中的加锁语句 LOCK TABLES,锁表(或者视图)权限。 可以锁住那些你拥有select权限的表,以防止其他session访问或者修改这个表。 如果锁住视图,那么视图的所有基表
阅读全文
摘要:这样做的好处是:放在配置文件中配置大小限制的数字,可以方便后续修改 application.properties: #用户地址最大限制 ,user.address这些名字自定义随便取 user.address.max-count=20 service层实现类:
阅读全文
摘要:一、SpringMVC的文件上传例子 1 MultipartFile接口 MultipartFile接口常用的的API见下表: 方法 功能描述 String getOriginalFilename() 获取上传文件的原始文件名,即该文件在客户端中的文件名 boolean isEmpty() 判断上传
阅读全文
摘要:在持久层判断时: 问题:修改用户信息时,有一个这样的问题。举个例子:用户邮箱不是必填项,原本不为空。此时用户把邮箱信息删除后提交,这个时候如果非空来判断是否需要修改,则系统就会认为邮箱信息就不用修改。因此这种判断方式会混淆"原本有信息,但用户设置为空"和"原本有信息,但用户不做改动"这两种情况。 解
阅读全文
摘要:(1)springboot中使用MVC拦截器: (2)应用:用户未登录时,编写拦截器使其无法访问部分页面 1.创建拦截器类com.cy.store.interceptor.LoginInterceptor,并实现1.org.springframework.web.servlet.HandlerInt
阅读全文
摘要:request.setAttribute和request.getAttribute;; request.getSession().setAttribute和request.getSession().getAttribute(); 区别:作用域不同 request.getAttribute()只能在一
阅读全文
摘要:第一种:参数不带注解 1.直接在controller方法的参数中接受请求参数 此时参数名称一定要和请求参数的名称一致,即usename、password要和前端传过来的参数名一致。 这有个小疑问:前端传过来的参数名又是什么呢?详见另一篇博客:web前后端传值的一些问题 @RequestMapping
阅读全文
摘要:问题一:表单通过post方式提交的到底是name还是id? 问题二:使用js/ajax时,和后台交互的是name还是id? 1)表单通过post方式提交的到底是name还是ID? 答:以name作为参数名,value作为参数值提交传给后端 2)使用js/ajax时,和后台交互的是name还是id?
阅读全文
摘要:service层的Impl代码:login() @Override public User login(String username, String password) { //1.先判断数据库中有没有该用户名 User user = userMapper.getUserByName(userna
阅读全文
摘要:1)为什么判断字符串是否相等时不用==号用equals()方法 java中的==是用来判断对象所使用的内存地址是不是同一个,进而判断是不是同一个对象。例如 objA == objB 注意这里是同一个对象才会是true,如果不是同一个对象,哪怕两个对象所有属性都相同也会返回false。 而equals
阅读全文
摘要:1)编写js代码 register.html中的注册表单部分: <form id="form-reg" class="form-horizontal" role="form"> <!--用户名--> <div class="form-group"> <label class="col-md-3 co
阅读全文
摘要:1)基本类型和引用类型 java中只有两种数据类型:基本类型、引用类型 2)包装类型 包装类型:基本类型的封装类,也是一种引用类型 在某些场合不能使用基本类型必须使用包装类,比如集合能接收的类型为Object,基本类型是无法添加进去的,还有泛型也必须使用包装类 3)void和Void 问:void是
阅读全文
摘要:1)响应结果类 响应结果类:状态码、状态描述信息、数据封装到一个类中,将这类作为方法返回值,返回给前端浏览器 Json格式的数据进行响应 JsonResult:一个类中有泛型的数据类型时,则声明类的时候也要声明成泛型 E代表任意的数据类型:泛型 //响应结果类:状态码、状态描述信息、数据封装到一个类
阅读全文
摘要:一、自定义异常 java提供的异常太过笼统,因此需要自定义异常 比如,在业务层产生的异常,可以创建一个业务层异常的基类ServiceException,并继承RuntimeException类,并从父类生成子类的五个构造方法(重写); 接着具体的业务层异常继承这个基类ServiceException
阅读全文
摘要:@Service注解是标注在实现类上的 因为@Service是把spring容器中的bean进行实例化,也就是等同于new操作,只有实现类是可以进行new实例化的,而接口则不能,所以是加在实现类上的。 接口只是一个规范,需要各种实现类去实现这个接口,我们要用的就是这些实用类的方法。 如果采用@Aut
阅读全文
摘要:@RunWith(SpringRunner.class)注解: 是一个测试启动器,可以加载SpringBoot测试注解 让测试在Spring容器环境下执行。如测试类中无此注解,将导致service,dao等自动注入失败,比如下面这个持久层的注入: @SpringBootTest注解:目的是加载App
阅读全文
摘要:在开发中需要向表中插入自增ID,这个时候领域模型如果想要获取该ID的值,就需要在相应的mapper文件中添加useGeneratedKeys="true" keyProperty="id" useGeneratedKeys:为true时,表示如果插入的表id以自增列为主键,则插入成功之后使用JDBC
阅读全文
摘要:在上图中可以看出,这两个表有四个字段是相同的,可以提取出来 提取出表的公共字段,放在一个实体类的基类中,起名为BaseEntity 以后新建所有对象的时候都继承它,就省的每次都要写这些共有的属性了 1.公共实体类 BaseEntity: package com.cy.store.entity; im
阅读全文