栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

这几天的杂学

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

这几天的杂学

SpringBoot学习

yaml基本语法:

  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进时不允许使用Tab键,只允许使用空格。
  • 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可

项目一直不能启动的原因

1.controller包要放在启动类目录下,才能扫描到。

2.yaml文件写错了

3.配置错误

很有可能是pom.xml的版本号报红的原因

折腾了一天原来是端口占用的问题,改成8081就好了

查看占用的端口

netstat -nao|findstr 8080

SpringBoot的主要优点

  • 为所有Spring开发者更快的入门
  • 开箱即用,提供各种默认配置来简化项目配置
  • 内嵌式容器简化Web项目
  • 没有冗余代码生成和XML配置的要求
第一个Spring Boot程序!


artifactID一般是项目名或模块名

groupID,第一段为域,第二段为公司名称

比如自己新建的项目:com.wey.TestJava

目录结构:

然后运行启动类就可以了


注意每次运行前要重启springboot

@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(
    excludeFilters = {@Filter(
    type = FilterType.CUSTOM,
    classes = {TypeExcludeFilter.class}
), @Filter(
    type = FilterType.CUSTOM,
    classes = {AutoConfigurationExcludeFilter.class}
)}
)
public @interface SpringBootApplication {
    // ......
}

@ComponentScan

这个注解在Spring中很重要 ,它对应XML配置中的元素。

作用:自动扫描并加载符合条件的组件或者bean , 将这个bean定义加载到IOC容器中

@SpringBootConfiguration

作用:SpringBoot的配置类 ,标注在某个类上 , 表示这是一个SpringBoot的配置类;

我们继续进去这个注解查看

// 点进去得到下面的 @Component@Configurationpublic @interface SpringBootConfiguration {}
@Componentpublic @interface Configuration {}

这里的 @Configuration,说明这是一个配置类 ,配置类就是对应Spring的xml 配置文件;

里面的 @Component 这就说明,启动类本身也是Spring中的一个组件而已,负责启动应用!

我们回到 SpringBootApplication 注解中继续看。

run方法流程分析

要解决的问题:

  • 导入静态资源
  • 首页
  • jsp,模板引擎Thymeleaf
  • 装配扩展SpringMVC
  • 增删改查
  • 拦截器
  • 国际化
静态资源

总结:

  1. 在spring boot,我们可以使用以下方式处理静态资源
    • webjars localhost:8080/webjars/
    • public,static,/**,resouces localhost:8080/
  2. 优先级:resouces>static>public
首页如何定制
  • 导入thymeleaf 模板引擎
  • 自动配置原理
  • Web开发静态资源处理
Mysql基础知识复习
show databases;  -- 显示数据库
show tables;     -- 显示数据库表
use databases【表名】-- 使用数据库
create table  【if not exists】 genius;
drop table if exists genius;
desc tables;  -- 显示表的结构
alter table teacher rename as teacher1; -- 修改表
alter table teacher1 add age int(11); -- 增加表的字段
altertable teacher modify age varchar(11); -- 修改约束
alter table teacher1 change age age1 int(1) --字段重命名

alter table teacher1 drop age1 -- 删除表的字段
drop table if exists teacher1 -- 删除表【谨慎操作】

关于数据库引擎

MYISAMINNODNB
事务支持不支持支持
数据行锁定不支持支持
外键约束不支持支持
全文索引支持不支持
表空间的大小较小较大,约为2倍

常规使用操作:

  • MYISAM 节约空间,速度较快
  • INNODNB 安全性高,事务的处理,多表多用户操作

在启动项目时,要注意


直接点浏览器标志

其他一般的Spring boot就在启动类里启动

mybatis复习

把src删除

导入依赖

    

        
            mysql
            mysql-connector-java
            5.1.46
        
        
            org.mybatis
            mybatis
            3.5.2
        
        
            junit
            junit
            4.12
        
    

mybatis-config.xml





    
        
            
            
                
                
                
                
            
     
    

    
        
    


MybatisUils.java

public class MybatisUils {

    private static  SqlSessionFactory sqlSessionFactory;
    static {
        try {
            //使用Mybatis第一步:获取sqlSessionFactory对象
            String resource = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        }catch (IOException e){
            e.printStackTrace();
        }


    }
        //获取Sqlsession的实例
    public  static SqlSession getSqlSession(){
        return sqlSessionFactory.openSession();

    }
}

User.java

package com.genius.pojo;

//实体类
public class User {
    private int id;
    private  String name;
    private String pwd;

    public  User(){

    }
    public User(int id, String name, String pwd) {
        this.id = id;
        this.name = name;
        this.pwd = pwd;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPwd() {
        return pwd;
    }

    public void setPwd(String pwd) {
        this.pwd = pwd;
    }
}

  • Dao接口

    public interface UserDao {
        List getUserList();
    }
    
  • 接口实现类由原来的UserDaoImpl转变为一个Mapper配置文件

    
    
    
    
    
        
        
            insert into user(id,name,pwd)values(#{id},#{name},#{pwd})
        
    

    Mybatis-config.xml

    
    
    
    
        
            
                
                
                    
                    
                    
                    
                
         
        
        
            
        
    
    
    

    User.java(实体类)

    package com.genius.pojo;
    
    public class User {
    
        private int id;  //id
        private String name;   //姓名
        private String pwd;   //密码
    
    
    
        //构造,有参,无参
        //set/get
        //toString()
    
        @Override
        public String toString() {
            return "User{" +
                    "id=" + id +
                    ", name='" + name + ''' +
                    ", pwd='" + pwd + ''' +
                    '}';
        }
    
        public int getId() {
            return id;
        }
    
        public void setId(int id) {
            this.id = id;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getPwd() {
            return pwd;
        }
    
        public void setPwd(String pwd) {
            this.pwd = pwd;
        }
    }
    

    CRUD

    增加

    int addUser(User user);
    
    
    public void testAddUser(){
            SqlSession sqlSession = MybatisUils.getSqlSession();
            UserMapper mapper = sqlSession.getMapper(UserMapper.class);
    mapper.addUser(new  User(4,"我","2234"));
    
    
            sqlSession.commit();//记得提交事务
            sqlSession.close();
        }
    
    
            insert into user(id,name,pwd)values(#{id},#{name},#{pwd})
        
    

    删除

     @Test
        public void deleteUser(){
            SqlSession sqlSession = MybatisUils.getSqlSession();
            UserMapper mapper = sqlSession.getMapper(UserMapper.class);
            mapper.deleteUser(4);
            sqlSession.commit();
            sqlSession.close();
        }
    
    int deleteUser(int id);
    
     
            delete from mybatis.user where id = #{id};
        
    

    更新

    
            update mybatis.user set name=#{name},pwd=#{pwd} where id = #{id};
        
    
    int updateUser(User user);
    
     @Test
        public void updateUser(){
            SqlSession sqlSession = MybatisUils.getSqlSession();
            UserMapper mapper = sqlSession.getMapper(UserMapper.class);
            mapper.updateUser(new  User(4,"我","423423"));
    
            sqlSession.commit();
            sqlSession.close();
        }
    

    查询(根据id查找姓名)

     @Test
        public void getUserById() {
            SqlSession sqlSession = MybatisUils.getSqlSession();
            UserMapper mapper = sqlSession.getMapper(UserMapper.class);
            User user = mapper.getUserById(1);
            System.out.println(user);
    
            sqlSession.close();
        }
    
     User getUserById(int id);
    
    
    

    可能错的地方

    空指针错误是没有注册到资源,在pom.xml添加build

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9kagHLn9-1636175036448)(C:UsersGeniusAppDataRoamingTyporatypora-user-imagesimage-20211106114705389.png)]

    
    

    User实体类里没有写构造方法和toString方法(会出现地址)

    
    
    Git复习

    linux常用命令

    将项目通过git导入gitee可参考:

    https://blog.csdn.net/linxinfa/article/details/108709835?utm_source=app&app_version=4.17.2&code=app_1562916241&ulinkId=usr1mkqgl919blen

    git init                        #把当前目录变成git可以管理的仓库
    git add readme.txt              #添加一个文件,也可以添加文件夹
    git add -A                      #添加全部文件
    git rm test.txt                 #删除一个文件,也可以删除文件夹
    git commit -a -m "some commit"  #提交修改
    git status                      #查看是否还有未提交
    git log                         #查看最近日志
    git reset --hard HEAD^          #版本回退一个版本
    git reset --hard HEAD^^         #版本回退两个版本
    git reset --hard HEAD~100       #版本回退多个版本
    git remote add origin +地址     #远程仓库的提交(第一次链接)
    git push -u origin master       #仓库关联
    git push                        #远程仓库的提交(第二次及之后)
    

    将gitee项目克隆到本地(IDEA)可参考:

    https://blog.csdn.net/Woo_dy/article/details/115699567?utm_source=app&app_version=4.17.2&code=app_1562916241&ulinkId=usr1mkqgl919blen

    Vue复习

    第一个vue程序!

    
    
    
    
    
    
        
        Title
        
    
    
    
    
        {{message}}
    
    
    
    
    
    
    
    
    

    顺序不能错了,script要放在div下面,引入的vue.js要放在最前面

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/434228.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号