舒大少博客

一个95后少年的个人博客

当前时间为:
欢迎大家来到舒大少博客http://admin.evshou.com,广告合作以及淘宝商家推广请微信联系15357240395
...
【当当网 正版书籍】疯狂Java讲义(第5版)

【在售价】69.50 元
【在售价】69.50 元

立即领券
...
Java从入门到项目实战2019java语言程序设计

【在售价】34.90 元
【在售价】34.90 元

立即领券
...
Java程序员面试笔试宝典 代码程序员入门书籍

【在售价】28.70 元
【在售价】28.70 元

立即领券
...
零基础Java从入门到精通 java编程思想 java语言程序设计

【在售价】39.80 元
【券后价】34.80元

立即领券
...
Web前端一站式开发手册 HTML5+CSS3+JavaScript

【在售价】49.00 元
【券后价】39.00元

立即领券

2020java框架教程之spring代理模式

2020-12-24 17:00:31
swq1822677238

2020java框架教程之spring代理模式

概念:

将核心功能与辅助功能(事务、日志、性能监控代码)分离,达到核心业务功能更纯粹、辅助业务功能可复用。

静态代理设计模式 (更多…)

2020java框架之日志管理

2020-12-24 15:16:52
swq1822677238

2020java框架之日志管理

日志介绍:

用于记录系统中发生的各种事件。记录的位置常见的有:控制台、磁盘文件等。

日志级别:

日志级别从低到高:

TRACE、DEBUG、INFO、WARN、ERROR、FATAL

日志作用:

通过日志观察、分析项目的运行情况(项目维护)

通过日志分析用户的使用情况(大数据分析)

解决方案1

log4j+commons-logging

占位符 (更多…)

2020最新版Git教程

2020-12-24 10:16:03
swq1822677238

2020最新版Git教程

git安装以及初始化

查看git版本:git –version
设置用户名:git config –global user.name “Your Name”
设置邮箱:git config –global user.email “email@example.com”
查看信息:git config -l

git仓库

创建仓库,在本地磁盘创建个文件夹,然后打开cmd,输入:git init

git基本操作

(更多…)

2020java框架教程之mybatis缓存

2020-12-21 10:42:05
swq1822677238

2020java框架教程之mybatis缓存

一级缓存:

是session级别的缓存,一级缓存默认存在。
当在同一个session范围执行查询的时候,如果执行相同的查询,那么第二次查询会从缓存中获取数据

测试1:

@Test
public void testSelectUsersCacheLevelOne1(){
    SqlSession ss = MybatisUtils.getSqlSession();
    UsersMapper um = ss.getMapper(UsersMapper.class);
    Users users1 = um.selectByPrimaryKey(1);
    System.out.println("结果已查询");
    Users users2 = um.selectByPrimaryKey(1);
    System.out.println("结果已查询:从缓存中获取数据");
    ss.close();
    System.out.println("session关闭");
}

(更多…)

2020java框架教程之Mybatis逆向工程CRUD

2020-12-20 20:12:13
swq1822677238

2020java框架教程之Mybatis逆向工程CRUD

1.创建web项目
2.导入相关依赖
3.创建工具类
4.导入逆向工程并启动
5.刷新项目
6.在实体类文件增加构造方法和toString方法
7.创建测试
8.调用方法


(更多…)

2020java框架教程之mybatis逆向工程

2020-12-20 16:13:17
swq1822677238

2020java框架教程之mybatis逆向工程

下载地址:https://sithub.com/mybatis/generator/releases/tag/mybatis-generator-1.3.2

1.创建web项目

2.导入依赖

<dependency>
  <groupId>org.mybatis.generator</groupId>
  <artifactId>mybatis-generator-core</artifactId>
  <version>1.3.2</version>
</dependency>

3.创建包并且创建类继承DefaultCommentGenerator
(更多…)

Maven创建webapp骨架无法使用@WebServlet来实现注解配置解决方案

2020-12-20 09:59:17
swq1822677238

Maven创建webapp骨架无法使用@WebServlet来实现注解配置解决方案

利用maven创建web项目,默认不支持@WebServlet注解配置,甚至不支持El表达式(在web 3.0版本之后才支持),所以在写servlet 时想使用@WebServlet进行url-pattern配置是不能够完成的。

解决方案:

1.改变web.xml文件头来更改web工程版本

在本地仓库找到org\apache\maven\archetypes\maven-archetype-webapp\1.4
(更多…)

2020java框架教程之mybatis动态sql

2020-12-19 16:08:31
swq1822677238

2020java框架教程之mybatis动态sql

1.if

需求:

1.查询已激活的,并且博客的名字是包含某个查询字符串的记录
2.如果用户没有输入任何查询字符串,那么就显示所有已激活的博客

mapper:

<select id="selectActiveBlogByTitle" parameterType="string" resultMap="blogResultMap">
    select*from blog where state = 'active'
    <if test="value !=null and value !='' ">
        and title like concat('%','${value}','%')
    </if>
</select>

(更多…)

2020java框架教程之mybatis的增删改查CRUD

2020-12-19 11:35:41
swq1822677238

2020java框架教程之mybatis的增删改查CRUD

查询:

mapper:

<!-- 通过 id 查询用户 -->
<select id="selectUser" resultType="Users" parameterType="int">
    select * from users where id = #{id}
</select>
<!--  设置 ResultMap -->
<resultMap id="usersResultMap" type="Users">
    <id column="id" property="id" jdbcType="INTEGER"/>
    <!-- 将 password 设置 pwd 为别名 -->
    <result column="pwd" property="password" jdbcType="VARCHAR"/>
</resultMap>
<!--  通过 resultMap 查询用户 -->
<select id="selectUser2" resultMap="usersResultMap" parameterType="int">
    select * from users where id = #{id}
</select>
 (更多…)

2020java框架教程之mybatis删除

2020-12-19 11:32:12
swq1822677238

2020java框架教程之mybatis删除

<!-- 删除 -->
<delete id="deleteUsers" parameterType="int">
    delete from users where id=#{id}
</delete>
@Test
public void test12(){
    SqlSession sqlSession = MybatisUtils.getSqlSession();
    UsersDao mapper = sqlSession.getMapper(UsersDao.class);
    int i = mapper.deleteUsers(12);
    if(i>0) System.out.println("删除成功");
    else System.out.println("删除失败");
    sqlSession.commit();
    sqlSession.close();
}

2020java框架教程之mybatis修改

2020-12-19 11:10:33
swq1822677238

2020java框架教程之mybatis修改

<!--修改 -->
<update id="updateUsers" parameterType="Users">
    update users set password=#{password} where id=#{id}
</update>
@Test
public void test11(){
    SqlSession sqlSession = MybatisUtils.getSqlSession();
    UsersDao mapper = sqlSession.getMapper(UsersDao.class);
    Users users=new Users();
    users.setId(1);
    users.setPassword("admin666");
    int i = mapper.updateUsers(users);
    if(i>0) System.out.println("修改成功");
    else System.out.println("修改失败");
    sqlSession.commit();
    sqlSession.close();
    System.out.println(users);
}

2020java框架教程之mybatis获取刚刚插入的id(自增)

2020-12-19 10:47:47
swq1822677238

2020java框架教程之mybatis获取刚刚插入的id(自增)

一:插入记录

需求:新增一个用户

DDL操作

二:获取自增id

<insert id="insertUsers" parameterType="Users" useGeneratedKeys="true" keyProperty="id">
    insert into users(username,password,rolename,identity,mobile)
    values(#{username},#{password},#{rolename},#{identity},#{mobile})
</insert>

(更多…)

2020java框架教程之mybatis参数传递

2020-12-19 09:53:59
swq1822677238

2020java框架教程之mybatis参数传递

一、分页

方式1:使用索引

按照参数的顺序,从0开始

select*from users limit #{0},#{1}

方式2:使用注解

select*from users limit #{start},#{pageSize}

List<Users> selectUsersPage2(
@Param(value = “start”) int start,
@Param(value = “pageSize”) int pageSize);

方式3:使用Map

(更多…)

2020java框架教程之mybatis模糊查询和排序

2020-12-19 09:18:08
swq1822677238

2020java框架教程之mybatis模糊查询和排序

1.模糊查询

需求:根据对方的用户名查询信息(模糊查询)

方式1:使用 #传参

<select id="selectUsersName" parameterType="string" resultMap="usersResultMap">
    select *from users where username like #{username}
</select>

方式2:使用 $ 传参

<select id="selectUsersName2" parameterType="string" resultMap="usersResultMap">
    select *from users where username like '%${value}%'
</select>

注意:当使用$传参时,如果参数是单值属性,并且只有一个参数,那么参数必须使用 value 占位

(更多…)

2020java框架教程之mybatis实体类属性

2020-12-18 14:51:01
swq1822677238

2020java框架教程之mybatis实体类属性

列名和属性名不一致的情况

1.使用别名

<select id="selectUser2" resultType="Users" parameterType="int">
    select username as uname,password from users where id = #{id}
</select>

2.使用ResultMap

<?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="mybatis.dao.UsersDao">
    <!-- 设置 ResultMap -->
    <resultMap id="usersResultMap" type="Users">
        <id column="id" property="id" jdbcType="INTEGER"/>
        <!-- 将 password 设置 pwd 为别名 -->
        <result column="pwd" property="password" jdbcType="VARCHAR"/>
    </resultMap>
    <!-- 通过 resultMap 查询用户 --> (更多…)

2020java框架教程之Mybatis入门

2020-12-18 11:38:02
swq1822677238

2020java框架教程之Mybatis入门

大纲:

1.Mybatis 持久层:简化工作量,灵活

2.spring 粘合剂:整合框架、AOP、IOC、DI

3.SpringMVC 表现层:方便前后端数据的传输。

 

1.什么是Mybatis

a.Mybatis是对jdbc的封装
b.将SQL语句放在映射文件中(xml)
c.自动将输入参数映射到sql语句的动态参数上
d.自动将sql语句执行的结果映射成java对象

2.Mybatis入门

a.创建web项目
b.导入相关依赖:
(更多…)

2020java框架教程之springMVC的图片上传

2020-12-17 11:01:20
swq1822677238

2020java框架教程之springMVC的图片上传

1.引入相关依赖

<!-- 文件处理 -->
<dependency>
  <groupId>commons-fileupload</groupId>
  <artifactId>commons-fileupload</artifactId>
  <version>1.3.1</version>
</dependency>

2.在springmvc的配置中添加如下配置 (更多…)

2020java框架教程之spring的拦截器以及排除静态资源

2020-12-17 08:29:43
swq1822677238

2020java框架教程之spring的拦截器以及排除静态资源

1.创建拦截器类

2.实现HandlerInterceptor接口

3.覆盖接口方法


(更多…)

2020java框架教程之springMVC异常处理

2020-12-16 15:30:45
swq1822677238

2020java框架教程之springMVC异常处理

实例1:简单异常处理

1.在控制层创建一个异常处理的方法,并且添加 @ExceptionHandler 注解

@ExceptionHandler
public ModelAndView handleException(Exception ex){
    System.out.println("出现异常:"+ex);
    ModelAndView mav=new ModelAndView();
    mav.setViewName("error");
    mav.addObject("exception",ex);
    return mav;
}

2.创建错误页面

(更多…)

2020java框架教程之springMVC返回值类型总结

2020-12-16 11:32:45
swq1822677238

2020java框架教程之spring返回值类型总结

1.String

a.return “user”:将请求转发到user视图(forward)
b.return “redirect:user”:将请求重定向到user地址(redirect)

2.ModelAndView

返回数据和视图

3.Object

返回对象,一般用于json数据的返回。
需要在方法前或方法的返回值添加 @ResponseBody  注解

4.void

返回其他的MIME类型时,通常需要将方法定义为void