我的项目打包


点击install打包 打完会在target目录下动静生成 和本地仓库
本地仓库的包作用? 就是被其余我的项目依赖
clean革除target目录

我的项目的公布

勾销组合键ctrl+c
控制台:java -jar demo.jar

环境的切换

个别开发是应用的都是测试环境,当我的项目上线须要生产环境部署我的项目
在测试环境的配置与生产环境下配置可能不统一,常常批改ip地址
策略: 指定多个运行环境 测试环境时 让配置文件指向测试
编辑yml办法

#测试环境 /jt 端口号 8090    生产环境 :/  端口号80 配置必须残缺#设定分割线---#设置环境的名字 active:是谁的名字就执行谁spring:  profiles:    active: test---spring:  profiles: prodserver:  servlet:    context-path: / #设置公布的地址门路  port: 8095---#设置环境的名字spring:    profiles: testserver:  servlet:    context-path: / jt  #设置公布的地址门路  port: 8090#配置图片上传的门路#image:#  localDir: D:/chrome  download file
面试题

我的项目在Linux公布的 LomBok的应用都须要装置插件
如果在Linux中公布我的项目,是否须要装置LomBok创立
答:不须要 LomBok是编译期无效 重写了get set toString

编译期代码有.java编译成.class文件,而你公布之后运行的是jar包 jar包是class文件

快捷键(生成get set办法+构造方法)alt+insert

ORM概念

对象映射关系映射 通过应用形容对和数据库之间映射的元数据

利用对象的形式操作数据库
1.resultType应用场景:

字段名称与对象属性名统一
2.resultMap应用场景
字段名称与对象属性名不统一
resultmap应用办法

 #开启驼峰映射  简化mybatis映射的过程 规定 表字段user_id(字段) 先去除下划线 之后首字母大写(UserId)  configuration:    map-underscore-to-camel-case: true

面试点 如果开启了驼峰规定映射
问字段User_id与对象User_id能不能映射?
不能
注意事项: 满足表字段带下划线+pojo中的属性命名为驼峰名

MybatisPlus(MP)

业务场景 (疾速纯熟的做增删改查(CURD))
MP工作原理阐明:

对象与数据库任何映射?1.利用注解实现对象与表绑定 属性与字段绑定如何解决泛滥接口编辑雷同的CRUD操作?定义一个公共的Mapper接口,定义公共的curd 利用泛型辨别对象

数据库只对sql感兴趣,对对象没趣味(如何将对象转化成sql)?
依照特定的语法转化成sql语句
例子:将对象插入数据库

对象与表绑定 属性与字段绑定@Data@Accessors(chain = true) //链式@TableName("user") //实现表与对象的关联 user与user对应public class User implements Serializable { @TableId(type = IdType.AUTO) private Integer id;  //主键 主键自增 @TableField(value = "name") //可省不写 private String name; private Integer age; private  String sex; //alt+insert生成get() set() 办法}
公共的Mapper接口//@Mapper//留神泛型的援用 不增加泛型无奈实现public interface UserMapper  extends BaseMapper<User> {    //查问全副数据库记录    @Select("select * from user")   public  List<User> findAll();}

yml文件 加-plus

mybatis-plus:  type-aliases-package: com.jt.pojo #定义别名包  resultType="User" 会在resultTyp本人拼接包门路  mapper-locations: classpath:/mybatis/mappers/*.xml  #开启驼峰映射  简化mybatis映射的过程 规定 表字段user_id(字段) 先去除下划线 之后首字母大写(UserId)  configuration:    map-underscore-to-camel-case: true

快捷键 ctrl+o查看所有办法

 url: jdbc:mysql:///jtdb? 时区serverTimezone=GMT%2B8编码&useUnicode=true&characterEncoding=utf8&  mybatis断开连接 主动连贯 autoReconnect=true 容许批量的操作 &allowMultiQueries=true

MP API介绍

//测试查问  ID=21 的用户@Testpublic void select(){    User user = userMapper.selectById(21);    System.out.println(user);    //查问总记录数    Integer integer = userMapper.selectCount(null);    System.out.println(integer);}/*测试查问  性别=女 年龄>  条件结构器:动静拼接where条件的  多条件中默认的连接符为and  eq(=)  gt(>) lt(<)  ge(>=) le(<=) */@Testpublic void select02(){    QueryWrapper<User> queryWrapper =new QueryWrapper<>();    queryWrapper.eq("sex","男").gt("age",100);    List<User> list = userMapper.selectList(queryWrapper);    System.out.println(list);}// 查问 sex=女 之后依照age顺叙排列 如果年龄雷同依照id降序排序@Testpublic void select03(){    QueryWrapper<User> queryWrapper =new QueryWrapper<>();    queryWrapper.eq("sex","女")            .orderByDesc("age","id");    List<User> list = userMapper.selectList(queryWrapper);    System.out.println(list);}//查问id为1,3,4,7,9的数据  关键字in or(在关联查问慎用)@Testpublic void select04(){   /*   办法一   List<Integer> idList=new ArrayList<>();    idList.add(1);    idList.add(3);    idList.add(5);    idList.add(7);*/    //办法2    Integer[] ids ={1,3,5,7};    //数组转汇合    List<Integer> idList = Arrays.asList(ids);    List<User> list = userMapper.selectBatchIds(idList);    System.out.println(list);}/** * 需要 1查问名称中蕴含'精'子的男性 "%精%" *      查问以精结尾的 *      查问以精结尾 */@Testpublic void select05() {    QueryWrapper<User> queryWrapper = new QueryWrapper<>();    queryWrapper.likeLeft("name","精").eq("sex","男");    List<User> list = userMapper.selectList(queryWrapper);    System.out.println(list);}//测试入库操作 将用户信息(王大锤 20)存入@Testpublic void insert(){    User user= new User();    user.setName("王大翠").setAge(20).setSex("男");    int rows= userMapper.insert(user);    System.out.println(rows);}