![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java之SSM
风筱
最是人间留不住,朱颜辞镜花辞树。
展开
-
Mybatis原来是这样的 - - - 07
简介1、什么是缓存 [ Cache ]?存在内存中的临时数据。将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。2、为什么使用缓存?减少和数据库的交互次数,减少系统开销,提高系统效率。3、什么样的数据能使用缓存?经常查询并且不经常改变的数据。Mybatis缓存MyBatis包含一个非常强大的查询缓存特性,它可以非常方便地定制和配置缓存。缓存可以极大的提升查询效率。原创 2020-10-23 23:14:31 · 72 阅读 · 0 评论 -
MyBatis原来是这样的 - - - 06
介绍什么是动态SQL:动态SQL指的是根据不同的查询条件 , 生成不同的Sql语句.MyBatis 的强大特性之一便是它的动态 SQL。如果你有使用 JDBC 或其它类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句的痛苦。例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL 这一特性可以彻底摆脱这种痛苦。虽然在以前使用动态 SQL 并非一件易事,但正是 MyBatis 提供了可以被用在任意 SQL 映射语句中的强大的动态 SQL 语言得以改进这种情形。原创 2020-10-23 22:57:30 · 62 阅读 · 0 评论 -
MyBatis原来是这样的 - - - 05
多对一的处理多对一的理解:多个学生对应一个老师如果对于学生这边,就是一个多对一的现象,即从学生这边关联一个老师!数据库设计CREATE TABLE `teacher` (`id` INT(10) NOT NULL,`name` VARCHAR(30) DEFAULT NULL,PRIMARY KEY (`id`)) ENGINE=INNODB DEFAULT CHARSET=utf8INSERT INTO teacher(`id`, `name`) VALUES (1, '秦老原创 2020-10-23 22:37:09 · 58 阅读 · 0 评论 -
MyBatis原来是这样的 - - - 04
面向接口编程大家之前都学过面向对象编程,也学习过接口,但在真正的开发中,很多时候我们会选择面向接口编程根本原因 : 解耦 , 可拓展 , 提高复用 , 分层开发中 , 上层不用管具体的实现 , 大家都遵守共同的标准 , 使得开发变得容易 , 规范性更好在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的。在这种情况下,各个对象内部是如何实现自己的,对系统设计人员来讲就不那么重要了;而各个对象之间的协作关系则成为系统设计的关键。小到不同类之间的通信,大到各模块之间的交互,在系统设原创 2020-10-23 22:31:56 · 63 阅读 · 0 评论 -
MyBatis原来是这样的 - - - 03
ResultMap及分页ResultMap查询为null问题要解决的问题:属性名和字段名不一致环境:新建一个项目,将之前的项目拷贝过来1、查看之前的数据库的字段名2、Java中的实体类设计public class User { private int id; //id private String name; //姓名 private String password; //密码和数据库不一样! //构造 //set/get //toSt原创 2020-10-23 22:21:11 · 116 阅读 · 0 评论 -
MyBatis原来是这样的 - - - 02
CRUD操作及配置解析CRUD操作namespace将上面案例中的UserMapper接口改名为 UserDao;将UserMapper.xml中的namespace改为为UserDao的路径 .再次测试结论:配置文件中namespace中的名称为对应Mapper接口或者Dao接口的完整包名,必须一致!selectselect标签是mybatis中最常用的标签之一select语句有很多属性可以详细配置每一条SQL语句SQL语句返回值类型。【完整的类名或者别名】传入SQL语句的原创 2020-10-23 22:08:02 · 563 阅读 · 1 评论 -
MyBatis原来是这样的!- - -简介01
什么是MyBatisMyBatis 是一款优秀的持久层框架MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的过程MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 实体类映射成数据库中的记录。Mybatis官方文档 : http://www.mybatis.org/mybatis-3/zh/index.htmlGitHub : https://github.com/mybatis/mybatis-3持久化持久化是将程序数据原创 2020-10-23 21:35:09 · 182 阅读 · 1 评论 -
SSM之时间格式化和解析
在项目中添加时间工具类接口public interface Tool { static String dateTString(Date date){ return new SimpleDateFormat("yyyy-MM-dd").format(date); }}实体类1. get,set,无参构造,有参构造,tostring省略2. 在时间的getset方法的基础上再改进一下,再加一个格式化的方法,xxxStr()。public class Contract {原创 2020-09-05 17:13:48 · 1007 阅读 · 1 评论 -
SSM之文件上传
SSM之文件上传这是我写SSM项目的时候,写的功能实现!!!执行顺序:前台到controller。controller ===》 service/serviceImpl。service/serviceImpl ===》mapper。例如添加功能实体类:没有什么特殊的,get,set,tostring,有参,无参就省略了!!!public class House { private Integer hid; private String harea; priv原创 2020-09-05 15:07:57 · 434 阅读 · 1 评论 -
SSM之MD5加盐加密
第一步:MD5工具类public class Md5Util { public static String md5(String text,String key)throws Exception{ //加密后的字符串 String s = DigestUtils.md5DigestAsHex((text + key).getBytes()); System.out.println("MD5加密后的字符串为:encodeStr="+s);原创 2020-09-02 21:48:25 · 710 阅读 · 1 评论 -
SSM之登陆拦截与退出
一 : 配置文件中设置拦截<?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:p="http://www.springframework.org/schema/p" xmlns:con原创 2020-09-02 21:36:56 · 449 阅读 · 0 评论 -
“ 回退陷入登录页面的死循环 “ 是这样解决的!!!
加一个onload<iframe onload="xxx(this)" name="pageBox" src="<c:url value="/house/houseall.action"/>"></iframe><script > function xxx(obj) { let href = obj.contentWindow.location.href; console.log(href); if原创 2020-09-02 21:22:52 · 595 阅读 · 1 评论 -
JS设置页面无法回退
JS设置防止页面回退登录页面<%-- Created by IntelliJ IDEA. User: ASUS Date: 2020/8/27 Time: 14:42 To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %><%@taglib ur原创 2020-09-02 15:46:42 · 624 阅读 · 0 评论 -
SSM多表联查,原来如此方便,快捷!!!
SSM多表联查(注解/配置文件)第一步:实体类public class Contract { private Integer cid; private Integer lid; private Integer hid; private Integer ccash; @DateTimeFormat(pattern = "yyyy-MM-dd") private Date ccreatetime; @DateTimeFormat(pattern原创 2020-09-02 10:20:09 · 989 阅读 · 0 评论