自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 saas-export项目-shiro认证

Shiro过滤器&标签简介判断session中是否有user,判断账户密码是否正确分析需要过滤控制,没有权限下,访问链接需要标签控制 没有权限下 界面元素的隐藏》anon代表不认证也可以访问,通常是对静态资源进行放行》authc代表必须通过认证才可以进行访问,通常是对动态资源(controller,jsp页面)进行拦截,如果用户没有认证,shiro会自动跳转到login.jsp页面shiro登陆认证,判断session中的user过滤器在项目中使用认证过滤器拦截资源(该拦截的

2020-11-22 15:41:26 108

原创 saas-export项目-BaseController作父类

BaseController作父类子类继承父类的好处springmvc可以给控制器方法参数赋值request,response,sessionspringmvc可以给控制器成员变量赋值//子类继承父类,可以自动拥有父类的非私有成员(方法或者变量)public class BaseController{ //定义一个可以返回companyId public String getLoginCompanyId(){ return "1"; } //定义一个可

2020-11-07 20:13:39 181

原创 理解Java中的List、set与Map

List、Set、Map有什么区别和联系list和set有共同的父类,用法相同,不同的是set中不能有相同的元素,list中可以list和set的用途非常广泛,list可以完全代替数组来使用map是独立的合集,它使用键值对的方式来存储数据,键不能重复,但是值可以map不想上边两种集合用的广泛,不过在servlet和jsp中,map担任着页面之间传值的作用collection体系逻辑图Map├Hashtable├HashMap└WeakHashMapMap没有继承Collectio

2020-11-07 09:19:28 230

原创 方法重载overload和方法重写override

方法重载定义java允许在同一个类中,定义多个名字相同的方法,但是这些相同名字的方法必须具有不同的参数列表意义可以减少程序员对功能相同的方法的记忆负担JVM如何调用根据方法名查找再找参数类型判断方法是否为重载参数列表不同:参数类型,参数个数,顺序必须不同。与什么无关参数列表名字无关返回值类型无关public static方法重写定义在子类中出现和父类一模一样的方法。可以使用@Override检验,但不是必须加特点子类重写父类的方法,子类对象调用该方法,执行的是子

2020-11-07 09:08:35 169 1

原创 saas-export项目-部门管理-编辑功能-页面回显-更新操作

打开编辑页面DeptController //打开修改页面 @RequestMapping(path = "/toUpdate",method = {RequestMethod.GET,RequestMethod.POST}) public String toUpdate(Model model,String deptId){ l.info("toUpdate deptId="+deptId); return "system/dept/

2020-11-02 20:34:28 152

原创 saas-export项目-AdminLTE介绍与入门

AdminL介绍AdminLTE是一款建立在bootstrap和jquery之上的开源的模板主题工具AdminLTE特点》提供一系列响应的

2020-10-28 19:30:47 74

原创 saas-export项目简介及工程搭建

Export系统介绍做什么事情主要是针对国际物流的进出口报关平台进出口报送的特点》多个关联方国际物流的业务闭环涉及到海关、船东、港区、仓库、拖车、报关行等》交易周期长》支付结算体系受到限制进出口报送平台的作用需要通过工具来建立连接,完成信息的流转(报关业务的复杂性决定了工具的必要性)Export服务于货代企业,通过提供SaaS工具,帮助中小企业简单便利的对国际物流全环节进行流程控制Export项目的模块》权限模块(用户,角色,权限,部门)》货运模块(购销合同,货物,附件等)》报

2020-10-26 14:28:53 265 1

原创 PowerDesigner建模使用 生成数据库表

PowerDesigner建模使用 生成数据库表进入PowerDesigner页面之后,点击Create Model选择Model types,选择完成之后点击OK,记得DBMS要选择MySQL5.0一些表的工具图标设置表的名称设置表的列的类型和是否为空把表的id设为主键设置外键生成sql文件如果生成的时候失败遇到错误那么把Check Model的那个勾勾去掉就完成了...

2020-10-24 14:11:17 127

原创 配置spring事务时遇到了Cannot resolve bean ‘dataSource‘错误

配置spring事务时遇到了Cannot resolve bean 'dataSource’错误applicationContext.xml无法解析数据源dataSource产生的原因是spring的配置文件没有导入,需要手动导入点击File——》Project structure——》点击你需要添加的模块的配置文件——》点击+——》勾选上配置文件——》点击OK——》点击apply这样就好了,可以正常运行了...

2020-10-24 09:52:14 5163 2

原创 saas-export项目-数据库设计三大范式

三大范式介绍是什么数据库设计表时,有三种规则或者原则,叫做三大范式第一范式确保每一列的原子性(做到每列不可拆分)所做的操作就是拆列第二范式在第一范式的基础上,每列都要和主键(直接或者间接)相关 所做的操作就是拆表案例此表的产品数量、产品折扣、产品价格、与“订单号”和“产品号”都相关,但是订单金额和订单时间仅与“订单号”相关,与“产品号”无关第三范式(3NF)在第二范式的基础上,每列都和主键直接相关(数据比较少冗余)操作是使用外键案例所有属性都完全依赖于学号,所以满足第二范式,

2020-10-24 09:18:29 146

原创 SSM开发项目的增删改查(Ajax)

Controller方法返回值类型ObjectController方法返回类型ModelAndView void String Object@ResponseBody作用:将Object转成json字符串返回需要调用jackson库,依赖配置jackson库<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifac

2020-10-23 20:37:12 997

原创 SSM之CRUD开发部门增删改查无ajax

项目简介项目的经典模块-C(Create 创建)R(Retrieve 查询)U(Update 更新)D(Delete 删除)功能使用技术ssm:SpringMVC+Spring+Mybatissql数据库的设计create database crud;use crud;create table department( did int primary key auto_increment, dname varchar(20))insert into department value

2020-10-21 10:00:32 89 1

原创 【算法系列】二分法算法

二分法对于区间[a,b]上连续不断且f ( a ) ⋅ f ( b ) < 0 f(a)·f(b)<0f(a)⋅f(b)<0的函数y = f ( x ) y=f(x)y=f(x),通过不断地把函数f ( x ) f(x)f(x)的零点所在的区间一分为二,使区间的两个端点逐步逼近零点,进而得到零点近似值的方法叫二分法。通俗语言就是将搜索空间不断的减半,从而逼近解的过程从二分查找来看二分法例子:在一个一维有序数组中,判断数组中是否有值为target的数存在。首先判断数组中间值是

2020-10-17 16:37:46 684 1

原创 jsp基本知识

jsp语法:1.运行原理:浏览器(客户端)发送请求到jsp页面,页面编译成Java类(Servlet)响应(将Java+html组合后的字符串传递到浏览器进行解析)到客户端。2.注释:<%-- 客户端不可见注释–%>3.指令:(1)page指令:页面出错处理<%@ page errorPage=“error.jsp”%><%@ page isErrorPage=“true” %>页面出错之后,自动跳转到error.jsp 页面(2)include指

2020-10-17 10:51:34 1051 6

原创 SSM之SpringAOP 切面表达式

学习目标spring AOP事务spring事务管理Spring和Mybatis整合动态代理JDK proxy动态代理,必须要有一个接口动态代理的三个参数代理类,与被代理类 地位是一样的(相同的ClassLoader,相同的接口)所以,有相同的接口,相同的类加载器invoke方法参2 表示要增强哪个方法Object returnValue = method.invoke(laoZong,args);AOP术语1、 目标类target:就是我们需要增强的那个类 LaoZong

2020-10-17 10:39:16 153

原创 SSM之SpringMVC批量删除操作

批量操作复选框标签可以让前台页面传数组给后台;有两种接收方式数组参数绑定》数组》QueryOV对象前台代码多个复选框表单,并把复选框选中的内容发给服务器后台,服务器去接收后台代码页面如果是提交的复选框的数据,则返回的是数组,所以需要数组来接收注意:形参数组的名字必须和表单复选框里边的name属性的值一致...

2020-10-17 10:03:31 938

原创 SSM之整合 环境搭建Spring SpringMVC MyBatis

学习目标SSM整合CRUD(增删查改)ssm整合说明SSM框架包括Spring,SpringMVC,Mybatis要首先搭建好SSM环境,才能再去开发其他环境整合思路:1先搭建整合的环境2把Spring的配置搭建好3使用Spring整合SpringMVC框架4最后使用Spring整合Mybatis框架整合方式XML+注解的方式流程图SSM搭建环境(1)数据库创建ssm(2)创建maven工程(3)properties给谁用?(4)依赖框架(5)log4jSQL

2020-10-16 10:25:49 122

原创 SSM之SpringMVC参数绑定修改功能 数据回显

修改页面-数据回显为什么要做数据回显?为了方便修改数据 ,可以将被修改的数据放到ModelAndView中,传给页面,页面使用el表达式,逐个设置给表单list.jsp页面<td><a href="${pageContext.request.contextPath}/update.action?id=${item.id}">修改</a> </td>updatePerson @RequestMapping("update.action")

2020-10-14 20:01:11 477

原创 SSM之SpringMVC的参数绑定之日期转换

日期格式转换springMVC默认不支持页面上的日期字符串到后台的Date的转换有两种转换方式第一种使用注解Person private int id; private String username; private String password; private String city; private Birthday birthday; @DateTimeFormat(pattern ="yyyy-MM-dd") private Dat

2020-10-14 17:47:23 169

原创 SSM之SpringMVC参数绑定 基本类型绑定 pojo绑定 queryvo绑定

基本类型绑定什么是参数绑定用户请求服务器的时候会给后台传递参数,如何来快速的接收到用户传递的参数》传统方式:在Controller中的方法的形式参数上直接声明HttpServletRequest,HttpServletResponse,HttpSession》直接将获取的值作为形参 必须保证传入的参数的名字和本方法形参的名称一致 url?cid=1对应方法的参数是xx(String cid)springmvc的内部有默认的类型转换器:String---->int 只能转换基本类型和字符串

2020-10-14 16:36:22 424

原创 SSM之SpringMVC介绍 简单处理流程及案例

学习目标SpringMVCSpringMVC-用户SpringMVC-流程SpringMVC-参数SpringMVC介绍springmvc是什么Springmvc属于表现层的框架,它是Spring框架的一部分

2020-10-13 19:39:45 138

原创 SSM之Spring test模块

Spring和junit的整合在spring框架下,如何给类做单元测试?Junit+手动创建IOC容器Junit+spring test+自动创建IOC容器+自动注入(不用调用getBean)什么是spring-test模块spring提供的基于junit的测试模块,可以简化IOC创建,且可以使用注入如何使用@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration("classpath:applicationContext.

2020-10-13 17:06:25 152

原创 SSM之Spring web模块

AutoWired与Qualifier@AutoWired:Spring会自动创建实现类对象,并且将实现类对象赋值给dao,如果项目中该接口只有一个实现类,可以使用AutoWired;但是,接口有两个或者两个以上的实现类,此时就会抛异常@Qualifier:可以手动指定将哪一个实现类的对象赋值给IPersonDao接口两个必须合在一起使用@Repositorypublic class PersonDaoImpl implements IPersonDao { public boolea

2020-10-13 17:05:48 143

原创 SSM之SpringAOP

Spring AOP概念AOP(Aspect Oriented Programming)是面向切面编程就是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。简单说,就是在不改变方法源代码的基础上,对方法进行功能增强。本质上是生成了一个新的类,叫做代理类AOP对程序的扩展方式采用动态代理的方式(JDK动态代理和Cglib动态代理两种方式)Spring动态代理JDK的动态代理》Proxy类的静态方法可以创建代理对象static Object newProxyInstance

2020-10-12 22:22:23 54

原创 SSM之接口调用与IOC注入达到解耦效果

Spring面向接口编程-原理接口定义业务类接口com.xxx.service.IXxxServiceDao接口com.xxx.dao.IXxxDao实现类com.xxx.service.Impl.XxxServcieImplcom.xxx.dao.impl.XxxDaoImpl一个接口有多个实现类,使用接口调用,将来更换实现类时,代码耦合性更低如何判断用删除法将来实现类对象由Spring管理,成员变量使用依赖注入TestPersonService @Test publ

2020-10-12 17:33:25 121

原创 Duplicate entry ‘xxx‘ for key ‘AK_idx_username‘

Duplicate entry ‘xxx’ for key ‘AK_idx_username’遇到这个错误,搜索到了很多解决方法都说是因为索引的原因解决办法:选为索引的字段不能重复添加,就是在写sql语句的时候,不能填入与索引字段相同的数据,并且是唯一的而我的错误并不是因为数据库的原因,而是因为我在创建对象的时候,做了个判断,user若为空,则把它保存起来,我保存的数据是为空的数据...

2020-10-12 08:34:51 1556

原创 Spring生命周期以及依赖注入DI

Spring生命周期生命周期:创建方法init销毁方法destory普通方法service属性init-method当该对象初始化的时候该方法会自动执行destory-method 当该对象即将销毁的时候会自动调用该方法测试context。close()关闭容器创建方法 public void init(){//初始化 System.out.println("哇哇哇,我诞生了"); } public void eat(){//普通方法

2020-10-09 21:16:16 282

原创 SpringIoC入门 工厂创建对象 单例和多例

Spring的IOC入门方法区别context.getBean("id值", 类型.class);//无需转型context.getBean("id值");//需转型bean标签的属性id:bean标签的识别ID,理论上可以随便写class:你要上Spring给你创建那个类的对象,需要协商该类的全部路径名赋值的方式有两个Person person1 = new Person();//设置方法person1.setId(1);System.out.println(person1

2020-10-09 17:33:47 645

原创 SSM之SpringIOC入门

Spring的介绍Spring介绍Spring是分层的Java SE/EE应用full-stack轻量级开源框架》full-stack:Service Dao Web》轻量级:按需添加模块》开源:可以获取源代码以IoC(Inverse Of Control:反转控制)和AOP-(Aspect Oriented Programming:面向切面编程)为内核特点提供了展现层SpringMVC持久层Spring JDBC能够整合开源世界众多著名的第三方框架和类库业务层事务管理AOP方便解

2020-10-08 21:02:50 152 1

原创 JavaWeb旅游项目 注册功能

功能分析注册的后台功能代码编写UserService 的register测试逻辑TestUserService@Test public void test03(){ UserService userService = new UserService(); User user = new User(); user.setUsername("jackrock"); user.setPassword("12345678");

2020-10-06 21:12:26 169

原创 JavaWeb旅游项目登陆功能

分析登录功能实现UserService&UserDao生成UserService与测试逻辑测试逻辑 @Test public void test01(){ //将用户输入的账号密码传到后台 UserService userService = new UserService(); //查找用户数据 User user = userService.findUserByName("jackrock");

2020-10-06 19:39:58 392

原创 Mybatis关联查询 多表查询

关联查询由于项目一般都是多个表,所以表与表的关系一般分为一对一,一对多,多对多当查询的数据来自多个表时,这时候就要需要使用多表查询了多表查询的方式包括:笛卡尔集,显示内连接inner join,左外连接left outer join,右外连接right outer join,子查询select嵌套select查询的结果要封装成JavaBean对象,在Mybatis中重点掌握resultType和resultMap一对一查询关联查询的中的一对一是指,站在订单的角度看,一个订单有一个用户跟它对

2020-09-26 19:33:29 489

原创 ResultMap 动态sql语句

学习目标ResultMap查询数据封装的原理字段名和成员名不一致ResultMap标签动态sql动态sql-if标签动态sql-foreach标签关联查询关联查询-一对一关联查询-一对多关联查询-综合案例(1)字段名和成员名称不一致,为什么id属性能被Mybatis赋值?》底层使用id生成setId》使用反射调用setId方法,setId(10) 方法内完成赋值 id = 10(2)为什么user_id属性能被Mybatis赋值?》底层使用user_id生成setUser_

2020-09-26 15:43:39 880

原创 Mybatis环境搭建以及案例 SqlSession对象的方法

Mybatis环境搭建两种方法(1)mybatis下载mybaits的代码由github.com管理下载地址:https://github.com/mybatis/mybatis-3/releases(2)导入jar包测试相关的包: junit hamcrest日志相关的包:log4j-1.2.16 slf4-api slf4j-log4j12数据库相关jar包: mysql-connectorMybatis先关jar包: mybaits-3.4.5在配置文件pom.xml中导入依赖

2020-09-26 09:04:45 1259

原创 Mybatis 增删查改的用法

模糊查询的两种方法编写sql语句方法读取sql,参数,返回值类型,转成jdbc代码Mybatis操作-使用注意事项parameterType和resultTypeparameterType:指定输入参数类型,mybatis通过ognl从输入对象中获取参数值拼接在sql中。resultType:指定输出结果类型,mybatis将sql查询结果的一行记录数据映射为resultType指定类型的对象。如果有多条数据,则分别进行映射,并把对象放到容器List中注意parameterType一般

2020-09-25 17:13:45 84

原创 mysql Table ‘performance_schema.session_variables‘ doesn‘t exist 解决方法

用SQLyog连接数据库时,出现“mysql Table ‘performance_schema.session_variables’ doesn’t exist”错误,解决方法进入DOS系统,进入到你所安装的MySQ目录下的bin文件夹DOS系统转到D盘的命令是d:,cd到你想要进入的文件夹输入mysql_upgrade -u root -p ******重新启动mysql输入关闭命令:net stop mysql输入启动命令:net start mysql...

2020-09-25 08:56:28 387

原创 Mybatis的介绍 以及JDBC的连接

JDBC介绍案例: jdbc 做一个根据名称查询用户的操作什么是jdbc?Java Database Connectivity ,Java数据库连接 ,简称JDBCJava语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法什么是数据库驱动?数据库提供商对JDBC接口的实现类,如mysql,oracle,sqlserver//接口public interface JdbcApi{ public void update();}//接口不能直

2020-09-24 19:29:23 435

原创 sql语句 多表查询

多表的查询介绍初始化数据实际项目中,数据保存于多个表,如果需要的数据来自多个表,就要使用多表查询查询的分类》1:交叉连接查询(了解)》2:内连接查询隐式内连接,显式内连接***》3:外连接查询左外连接, 右外连接》4:子查询交叉连接查询什么叫做交叉连接查询交叉连接查询是将两张表相乘: A和B —> A * B笛卡尔集两张表相乘的结果,不论数据是否正确多表查询的本质多表查询可以理解成在笛卡尔集的基础上进行条件筛选内连接什么是内连接查询求的是多张表的交集

2020-09-24 08:39:55 552

原创 sql语句之多表关系 一对多 多对多

多表的关系介绍在实际的开发过程中,项目一定是有多张表的,且这些表之间是都有关系的表与表之间的关系分类:一对一 一对多 多对多一对一:A表的一行对应B表的一行,反之也成立,此时,两张表可以合并成一张表一对多:A表的一行对应B表的多行,反之不成立多对多:A表的一行对应B表的多行,B表的一行对应A表的多行多表的关系-一对多关系初始化数据一对多的创建流程》创建主表(分类表)》创建从表(商品表)》给主表和从表之间添加外键约束alter table 从表 add [constr

2020-09-23 21:05:18 8653

原创 JavaWeb【Mybatis之sql复习】统计 分组 分页

sql的查询排序什么是排序?order by如何进行排序?SELECT * FROM 表名 ORDER BY 排序字段 ASC(升序)|DESC(降序)特点指定列指定升序或者降序order by 排序只对数字和英文符串有效,对汉字无效可以指定一个或者多个列作为排序条件字典顺序 对中文无效admin delete初始化数据CREATE DATABASE day13;categoryCREATE TABLE products( pid INT PRIMARY KEY ,

2020-09-23 20:02:37 519

空空如也

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

TA关注的人

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