Java框架SSM(P)
发布一些有关java框架ssm的一些知识和遇到的问题以及解决办法
Leo&&Eva
厚积薄发
展开
-
【Mybatis-Plus】ActiveRecord(AR)学习
ActiveRecord也属于ORM(对象关系映射)层,由Rails最早提出,遵循标准的ORM模型:表映射到记录,记录映射到对象,字段映射到对象属性。配合遵循的命名和配置惯例,能够很大程度的快速实现模型的操作。ActiveRecord的主要思想是:每一个数据库表对应创建一个类,类的每一个对象实例对应于数据库中表的一行记录;通常表的每个字段在类中都有相应的Field; ActiveRecord同时负责把自己持久化,在ActiveRecord中封装了对数据库的访问,即CURD;; ActiveRec原创 2022-04-20 16:56:32 · 961 阅读 · 1 评论 -
【Mybatis-Plus】基本配置
configLocationMyBatis 配置文件位置,如果您有单独的 MyBatis 配置,请将其路径配置到 configLocation 中。 MyBatisSpring Boot:mybatis-plus.config-location = classpath:1 mybatis-config.xmlSpringMVC:<bean id="sqlSessionFactory"class="com.baomidou.mybatisplus.extension.sprin原创 2022-04-20 14:41:31 · 524 阅读 · 1 评论 -
【Mybatis-Plus】CRUD操作
1. 定义类User和UserMapper接口package cn.itcast.mp.simple.pojo;import com.baomidou.mybatisplus.annotation.IdType;import com.baomidou.mybatisplus.annotation.TableField;import com.baomidou.mybatisplus.annotation.TableId;import com.baomidou.mybatisplus.annot原创 2022-04-20 10:34:31 · 399 阅读 · 0 评论 -
【SSM整合】4. 逻辑代码编写以及测试
之前只是编写了Mapper接口的方法,现在来写控制层和业务层的代码AccountController实现保存和查询全部的功能package com.lh.controller;import com.lh.domain.Account;import com.lh.service.AccountService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.ste原创 2022-04-18 15:33:08 · 390 阅读 · 0 评论 -
【SSM整合】3. 配置文件填充(Spring&SpringMVC)
1. 在Spring核心配置文件中注册一个组件扫描,除了controller层的包<?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:aop="http://www.springframewor原创 2022-04-17 20:24:21 · 384 阅读 · 0 评论 -
【SSM整合】2. Mybatis和Spring整合
1. 对AccountMapper.xml进行方法填充<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.lh.mapper.AccountMapper"原创 2022-04-17 19:50:24 · 333 阅读 · 0 评论 -
【SSM整合】1. 基本环境搭建
我们首先实现一个对数据库表account的一些操作,有添加和查询所有并展示在页面中的功能1. 创建数据库ssm并创建account表2. 创建domain包用来存放对象类Accountpackage com.lh.domain;public class Account { private int id; private String name; private double money; public int getId() { ret原创 2022-04-16 22:22:44 · 732 阅读 · 0 评论 -
【Mybatis】利用注解实现多对多的多表查询
在上篇博客的基础上在添加一个类Rolepackage com.leoham.domain;public class Role { private int id; private String roleName; private String roleDesc; public int getId() { return id; } public void setId(int id) { this.id = id;原创 2022-04-16 10:20:54 · 468 阅读 · 0 评论 -
【Mybatis】注解方式实现一对多的多表查询
上篇刚介绍了使用注解方式实现一对一的多表查询,现在来介绍一下多对多的注解方式实现依然是创建两个类User 和Order在上篇博客基础上已经介绍过了只需要在User类里面添加一个List<Order>属性package com.leoham.domain;import org.w3c.dom.ls.LSInput;import java.util.Date;import java.util.List;public class User { private int原创 2022-04-15 22:45:21 · 531 阅读 · 0 评论 -
【Mybatis】注解方式实现一对一查询
使用注解方式实现一对一的多表查询,和使用配置文件实现一样也有两种方式。第一种:首先创建两个类User 以及 Orderpackage com.leoham.domain;import java.util.Date;public class User { private int id; private String username; private String password; private Date birthday; public int原创 2022-04-15 22:23:04 · 1313 阅读 · 0 评论 -
【Mybatis】使用注解完成基本增删改查操作
之前有详细介绍过使用配置文件完成基本的增删改查操作,今天介绍使用注解来完成这些操作首先我们不需要之前的UserMapper.xml了,直接在相应接口上进行注解标注。比如:package com.leoham.mapper;import com.leoham.domain.User;import org.apache.ibatis.annotations.Delete;import org.apache.ibatis.annotations.Insert;import org.apache原创 2022-04-15 21:50:32 · 777 阅读 · 0 评论 -
【Mybatis】多表操作-一对一的实现
首先看一下数据库的表user表和orders表然后我想通过以下语句查询两个表的联系,得到另一张表SELECT *, o.id oid FROM orders o, USER u WHERE o.uid=u.id;但是如何使用Mybatis配置实现呢?首先创建两个类分别是User 和 Orderpackage com.znan.domain;import java.util.Date;public class User { private int id;.原创 2022-04-14 22:58:47 · 693 阅读 · 0 评论 -
【Mybatis】利用分页助手插件实现分页功能
之前我们要实现分页查询的功能十分麻烦,需要先创建一个pageBean对象,然后有当前页,总页数,总条数,每页显示条数以及页面包含的记录集合等等对象。但是现在使用Mybatis实现这个功能可以很容易实现。首先导入一个pagehepler插件<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId>原创 2022-04-14 21:36:25 · 244 阅读 · 0 评论 -
【Mybatis】foreach实现动态sql及片段的抽取
我们可以用 SELECT * FROM USER WHERE id IN (1,2,4); 查询User表中id为1或2,或4的用户信息,但是如果需要在映射文件中动态生成这种sql语句的话就需要用到foreach语句了。UserMapper.xml内容如下,注意需要使用where实现【where id in】这一段sql语句,foreach中的open,close以及separator就是动态生成(1,2, 4)所需要的参数了<?xml version="1.0" encoding="UTF原创 2022-04-13 22:58:23 · 309 阅读 · 0 评论 -
【Mybatis】映射文件-动态sql实现模糊查询
上次只是说到查询所有或者根据某一属性查询,然而当遇到模糊查询时就不能直接在映射文件中定义sql语句了。我们需要判断是否存在属性,然后对sql语句进行扩充。UserMapper.xml如下<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">原创 2022-04-13 22:38:52 · 595 阅读 · 1 评论 -
【Mybatis】代理开发方法介绍
Mapper接口开发需要遵循以下规范:1、Mapper.xml文件中的namespace与mapper接口的全限定名相同2、Mapper接口方法名和Mapper.xml中定义的每个statement的id相同3、Mapper接口方法的输入参数类型和mapper.xml中定义的每个sql的parameterType的类型相同4、Mapper接口方法的输出参数类型和mapper.xml中定义的每个sql的resultType的类型相同新建一个UserMapper接口,实现查询所有的功能,原创 2022-04-12 22:09:27 · 268 阅读 · 0 评论 -
Mybatis加载jdbc.properties 显示找不到文件解决方法
运行的时候却显示找不到属性文件,这个问题是该属性文件不是UTF-8编码格式引起的。解决办法:把属性文件的编码改成UTF-8就行了原创 2022-04-12 19:54:00 · 1275 阅读 · 0 评论 -
【Mybatis】插入,修改,删除操作
之前只是介绍了如何使用Mybatis进行查询操作,现在来介绍一下如何进行参数需要的插入操作首先在配置文件UserMapper.xml中加入save操作。注意不是使用?代替参数,而是直接使用#{}来表示需要什么参数。<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-原创 2022-04-11 23:12:04 · 841 阅读 · 0 评论 -
【Mybatis】快速入门
开发步骤:1. 添加MyBatis的依赖坐标2. 创建user数据表3. 编写User实体类4. 编写映射文件UserMapper.xml5. 编写核心文件SqlMapConfig.xml6. 测试添加MyBatis的依赖坐标<dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>myb原创 2022-04-11 20:58:08 · 74 阅读 · 0 评论 -
【Spring】基于XML及注解的声明式事务控制
首先建立一个简单的转账的代码模块大概就是对一个数据库表account进行操作,如图使用service层的transfer方法实现tom对lucy 转账500package com.itheima.service.impl;import com.itheima.dao.AccountDao;import com.itheima.service.AccountService;public class AccountServiceImpl implements AccountSer原创 2022-04-10 22:55:37 · 714 阅读 · 0 评论 -
【Spring】注解方式实现AOP
之前介绍了如何用xml方式实现AOP,这次介绍一下如何用注解方式实现。步骤如下:1. 创建目标接口和目标类2. 创建切面类3. 将目标类和切面类的对象创建权交给spring4. 在切面类中使用注解配置织入关系5. 在配置文件中开启组件扫描和AOP的自动代理创建目标接口和目标类同时将目标类对象创建权交给springpackage cn.leohams.anno;public interface TargetInterface { public void s原创 2022-04-10 22:23:38 · 2446 阅读 · 0 评论 -
【Spring】AOP
AOP:1. 面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术2. AOP是OOP的延伸,可以对业务逻辑的哥哥部分进行隔离,降低业务逻辑部分之间的耦合度。3. 减少重复代码,提高程序的可重用性,提高开发的效率。4. 在程序运行期间,可以在不修改源码的情况下对方法进行功能增强。AOP的动态代理技术常用的动态代理技术1. JDK代理:基于接口的动态代理技术2. cglib代理:基于父类的动态代理技术1. JDK代理示例:创建Target原创 2022-04-10 00:38:16 · 103 阅读 · 0 评论 -
【SpringMVC】自定义拦截器及相关配置
拦截器是SpringMVC框架特有的组件,和过滤器功能相似自定义拦截器步骤分为以下两步1. 创建拦截器类实现HandlerInterceptor接口2. 配置拦截器假设实现一个系统在访问之前必须先登录,否则将会跳转到登陆页面login.jsp.1. 创建拦截器类实现HandlerInterceptor接口package cn.leohams.interceptor;import cn.leohams.domain.User;import org.springframe原创 2022-04-09 21:19:27 · 458 阅读 · 0 评论 -
【SpringMVC】异常处理方式
异常处理方式:1. 配置简单异常处理器SimpleMappingExceptionResolver2. 自定义异常处理器1. 配置简单异常处理器首先写一段有类型转换错误的代码@Controllerpublic class DemoController { @RequestMapping("/show") public void show(){ Object s = "fsfs"; Integer i = (Integer)s;..原创 2022-04-09 21:01:34 · 113 阅读 · 0 评论 -
【SpringMVC】配置文件编写
SpringMVC 配置文件Spring-mvc.xml的配置一般有三四点第一:添加一个mvc的命名空间<?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:mvc="http://www.原创 2022-04-08 11:08:38 · 340 阅读 · 0 评论 -
【Spring】JDBCTemplate学习笔记
导入相关依赖包<!-- mysql--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.26</version> </dependency原创 2022-04-07 22:40:54 · 770 阅读 · 0 评论 -
【SpringMVC】实现单文件的上传
首先创建一个jsp页面实现提交表单,比如叫upload.jsp这里的/test14是之后写的测试方法的虚拟访问路径。注意 enctype="multipart/form-data"<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>Title</title></head><body>原创 2022-04-06 22:30:42 · 230 阅读 · 0 评论 -
【SpringMVC】自定义日期类型转换器
自定义类型转换器的步骤:1、定义转换器类实现Converter接口2、在配置文件中声明转换器3、在<annotation-driven>中引用转换器首先建一个包,我们就叫converter, 然后在里面创建一个java文件 DateConverter.java,假如我们要的日期格式为yy-MM-dd的。package cn.converter;import org.springframework.core.convert.converter.Converter;原创 2022-04-06 20:41:50 · 1268 阅读 · 0 评论 -
【SpringMVC】初步实现详细步骤
Spring MVC的特点:轻量级,简单易学 高效 , 基于请求响应的MVC框架 与Spring兼容性好,无缝结合 约定优于配置 功能强大:RESTful、数据验证、格式化、本地化、主题等 简洁灵活前言将介绍如何使用配置文件(非注解方式)实现简单的SpringMVC一、SpringMVC是什么?Spring MVC是Spring Framework的一部分,是基于Java实现MVC的轻量级Web框架二、使用步骤1.在创建好Maven项目之后,添加web框...原创 2022-04-05 11:21:36 · 695 阅读 · 0 评论