常用的复制代码

飞一样的编程
飞一样的编程
擅长邻域:Java,MySQL,Linux,nginx,springboot,mongodb,微信小程序,vue

分类: Java vue 专栏: 复制代码块 标签: 代码复制

2023-03-26 16:31:42 1360浏览

代码复制

springboot数据库连接配置

spring.datasource.url=jdbc:mysql:///assay?characterEncoding=utf8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=123456
spring:
  datasource:
    password: 123456
    url: jdbc:mysql:///assay?characterEncoding=utf8&serverTimezone=Asia/Shanghai
    username: root

统一返回结果

@Data
@AllArgsConstructor
public class ResultVo<T> {
    private Integer code;
    private String mess;
    private T data;

    //success
    public static<T> ResultVo success(String mess,T data){
        return new ResultVo(200,mess,data);
    }
    //error
    public static<T> ResultVo error(String mess){
        return new ResultVo(500,mess,null);
    }
}

//统一返回结果的类
@Data
public class R {

    //是否成功
    private Boolean success;

    //返回码
    private Integer code;

    //返回消息
    private String message;

    // 返回数据
    private Map<String, Object> data = new HashMap<String, Object>();

    //把构造方法私有
    private R() {}

    //成功静态方法
    public static R ok() {
        R r = new R();
        r.setSuccess(true);
        r.setCode(ResultCode.SUCCESS);
        r.setMessage("成功");
        return r;
    }

    //失败静态方法
    public static R error() {
        R r = new R();
        r.setSuccess(false);
        r.setCode(ResultCode.ERROR);
        r.setMessage("失败");
        return r;
    }

    public R success(Boolean success){
        this.setSuccess(success);
        return this;
    }

    public R message(String message){
        this.setMessage(message);
        return this;
    }

    public R code(Integer code){
        this.setCode(code);
        return this;
    }

    public R data(String key, Object value){
        this.data.put(key, value);
        return this;
    }

    public R data(Map<String, Object> map){
        this.setData(map);
        return this;
    }
}

自动填充创建时间和修改时间

@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
    @Override
    public void insertFill(MetaObject metaObject) {
        //属性名称,不是字段名称
        this.setFieldValByName("gmtCreate", new Date(), metaObject);
        this.setFieldValByName("gmtModified", new Date(), metaObject);
    }

    @Override
    public void updateFill(MetaObject metaObject) {
        this.setFieldValByName("gmtModified", new Date(), metaObject);
    }
}
  @ApiModelProperty(value = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Date gmtCreate;

    @ApiModelProperty(value = "更新时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date gmtModified;

统一异常处理

全局异常处理

@ControllerAdvice
public class GlobalExceptionHandler {

    //指定出现什么异常执行这个方法
    @ExceptionHandler(Exception.class)
    @ResponseBody //为了返回数据
    public R error(Exception e) {
        e.printStackTrace();
        return R.error().message("执行了全局异常处理..");
    }
}

特定异常处理

@ControllerAdvice
public class GlobalExceptionHandler {

    //指定出现什么异常执行这个方法
    @ExceptionHandler(ArithmeticException.class)
    @ResponseBody //为了返回数据
    public R error(ArithmeticException e) {
        e.printStackTrace();
        return R.error().message("执行了算术异常处理..");
    }
}

自定义异常处理

  • 第一步创建自定义异常类继承RuntimeException写异常属性
@Data
@AllArgsConstructor
@NoArgsConstructor
public class JfException extends RuntimeException {
    private Integer code;//状态码
    private String msg;//异常信息

}
  • 在统一异常类里添加规则
@ControllerAdvice
public class GlobalExceptionHandler {

//自定义异常
    @ExceptionHandler(JfException.class)
    @ResponseBody //为了返回数据
    public R error(JfException e) {
        e.printStackTrace();
        return R.error().code(e.getCode()).message(e.getMsg());
    }
}
  • 执行自定义异常

数据库配置属性文件

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql:///assay?characterEncoding=utf8&serverTimezone=Asia/Shanghai
jdbc.username=root
jdbc.password=123456
    <bean class="org.apache.commons.dbcp.BasicDataSource" id="dataSource" destroy-method="close">
        <property name="driverClassName" value="${jdbc.driver}"/>
        <property name="url" value="${jdbc.url}"/>
        <property name="username" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
    </bean>

pom文件

        <!--lombok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.26</version>
        </dependency>

        
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13.2</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.32</version>
        </dependency>
        <!--数据库连接池-->
        <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>1.4</version>
        </dependency>


        <!--aop扩展-->
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>1.8.13</version>
        </dependency>

正则表达式

// 手机号
reg =/^[1][3,4,5,7,8][0-9]{9}$/;
// 身份证号码
reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
// 邮箱
reg =/^([a-zA-Z0-9]+[-_\.]?)+@[a-zA-Z0-9]+\.[a-z]+$/;
// 日期带时分秒的  2022/03/30格式的
let reg = /[1-9]\d{3}\/(((0[13578]|1[02])\/(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)\/(0[1-9]|[12][0-9]|30))|(02\/(0[1-9]|[1][0-9]|2[0-9]))) ([0-1][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]/;
//日期,格式2022-03-04
reg=/^[1-9]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/;

json消息转换器

 <mvc:annotation-driven>
        <mvc:message-converters>
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <property name="supportedMediaTypes">
                    <list>
                        <value>application/json;charset=utf-8</value>
                        <value>text/html;charset=utf-8</value>
                    </list>
                </property>
            </bean>

            <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
                <property name="supportedMediaTypes">
                    <list>
                        <value>application/json;charset=utf-8</value>
                        <value>text/html;charset=utf-8</value>
                    </list>
                </property>
                <property name="defaultCharset" value="utf-8"/>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

easycode插件生成的代码分页问题

<!--为了使用Pageable分页-->
<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-commons</artifactId>
    <version>1.13.11.RELEASE</version>
</dependency>

跨域问题

  • 服务端解决
@RestController
@CrossOrigin//解决跨域
public class BrandController {
module.exports = merge(prodEnv, {
  NODE_ENV: '"development"',
  BACK_API: '"http://localhost:8888"'
})

  back_url:process.env.BACK_API,
    
  axios({
            method:"post",
            data:that.searchForm,
            url:that.back_url+"/getAllBrands"
          }).then(function (result) {
  • 前端解决
  proxyTable: {
      '/':{
        target: 'http://localhost:8888',
url:"/getAllBrands"

linux常用命令

  • 防火墙:
1. 查看防火墙开启放行的端口
firewall-cmd --list-all
2. 开启防火墙:
systemctl start firewalld
3. 设置开放的端口号:
sudo firewall-cmd --add-port=80/tcp --permanent
4. 重启防火墙:
firewall-cmd --reload

好博客就要一起分享哦!分享海报

此处可发布评论

评论(2展开评论

蓝色妖姬 能力:10

2023-08-13 15:16:19

cv中
蓝色妖姬 能力:10

2023-06-15 11:47:23

外围购得
点击查看更多评论

展开评论

您可能感兴趣的博客

客服QQ 1913284695