Mabatis
使用配置文件配置Mybatis遇到的异常
错误:绑定异常
org.apache.ibatis.binding.BindingException: Type interface com.blp.dao.UserDao is not known to the MapperRegistry.
错误原因:
- UserDao没有在mybatis配置文件中注册
解决:将xml文件在Mybatis核心配置文件中注册
<mappers>
<mapper resource="com/blp/dao/UserMapper.xml"/>
</mappers>
错误:
Caused by: java.lang.IllegalArgumentException: Property 'sqlSessionFactory'
解决方法:删除target文件重新启动,是父模块打包成的,不是子模块的
Spring
使用spring是遇到的异常
错误:空指针
java.lang.NullPointerException:Instantiation of bean failed; nested exception is java.lang.ExceptionInIniti
错误原因:
- Spring在实例化这个类的时候,先执行静态方法,但静态代码块使用的对象没在静态代码块里实例化
解决:将要是用的对象实例化
static {
HashMap branchMap=new HashMap<Integer,Branch>(); //实例化对象,不然没法运行
}
提示:The last packet sent successfully to the server was 0 milliseconds ago.
解决:在my.cnf文件末增加连接时长并重启
interactive_timeou=28800
wait_timeout=28800
systemctl restart mysqld.service
说明: interactive_timeout也是必须要修改的参数,这样一起改才能生效,其中wait_timeout就是负责超时控制的变量。
- 第二个问题:开启远程连接
提示:message from server: “Host ‘120.78.152.142’ is not allowed to connect to this MySQL server”
解决:在mysql数据库中的user中增加一个字段
#查看现在使用的数据库
select database();
#使用mysql数据库
use mysql;
#增加字段
mysql -u user_1 -p -h 120.78.152.142;
#更新数据
flush privileges;
- 第三个问题:
提示:Public Key Retrieval is not allowed
出现问题原因:重启了mysql服务,flush privileges;
解决:我用的是在jar配置文件中的连接数据库加入
allowPublicKeyRetrieval=true
Vue
在终端命令不能使用或没输出,这种情况可以试试重装nodejs
重装nodejs
步骤:
-
第一步.先清空本地安装的node.js版本
- 删除C:\Users\[Admimistraor]\AppData\Roaming下的npm和npm-cache文件,记得勾上隐藏目录
- 然后进入命令控制行窗口,并输入where node查看之前本地安装的node的路径,找到上面找到的路径,将node.exe所在的父目录里面的所有东西都删除
- 为了彻底删除之前安装的node.js,鼠标点击电脑左面最左下角的win窗口图标弹出,输入“控制面板”再点击回车键进入,进入控制面板后,找到所安装的node.js并卸载。
nodejs下载地址:https://nodejs.org/dist/v10.14.2/
版本建议在v16及以下,不宜过高,在v17及以上版本之后更新了OpenSSL,对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响,以前的项目在升级 nodejs 版本后会报错。
错误:
nodejs初始化运行项目报错Error: error:0308010C:digital envelope routines::unsupported
#windows系统
set NODE_OPTIONS=--openssl-legacy-provider
#macOS 系统
export NODE_OPTIONS=--openssl-legacy-provider
注意:v17及以上版本每次运行都必须声明一次。
下载.msi的安装包
双击安装,一直点next即可,不要更改默认的存储路径,环境变量自动会配置
打开命令提示器,输入
$ npm -v
查看是否安装成功,看到版本号即可
安装cnpm,在命令提示器中输入
npm install -g cnpm -registry=https://registry.npm.taobao.or
等待安装完成即可
vue和vue-server-renderer的版本不一致,导致编译打包异常(This may cause things to work incorrectly)
异常:
│ - vue@3.2.45 │
│ - vue-server-renderer@2.7.14 This may cause things to work incorrectly. Make sure to use the same version for both. │
解决办法:
- 采用下面的命令重新安装
$ npm remove vue-server-renderer vue
$ npm add vue@2.6.14 vue-server-renderer@2.6.14
- 重新安装后的版本如下:不要使用
^
来指定版本号
"dependencies": {
"nuxt": "^2.0.0",
"vue": "2.6.14",
"vue-awesome-swiper": "^3.1.3",
"vue-server-renderer": "2.6.14",
"vue-template-compiler": "^2.6.14"
}
报错:Uncaught (in promise) Error: Request failed with status code 404
错误:
错误原因:跨域访问是路径出错,多了“”
// 创建axios实例
const service = axios.create({
baseURL: '"http://localhost:9001"', // api 的 base_url
timeout: 20000 // 请求超时时间
})
删除双引号即可
Maven
如果你的application.yml文件没有叶子图标,可以将该文件复制到target 的class目录下
IDEA中maven项目工程中的pom.xml文件变灰且中间有一条横线的处理方法
错误:
解决方法:
File–>Settings
搜索 maven,找到 maven 下面的 Ignored Files,将清单中对应项目的pom.xml文件取消选中
点击ok,重启idea即可恢复正常。
如果重启后main下的java,resources和test下的java都为灰色,这时候就要手动设置。
选择,右击,选择Mark Directory as 选择相应的模块
main->java->Sources Root
main->resources->Resources Root
test->java->Test Sources Root
导入依赖的代码都变红
当导入依赖的代码都变红,查看依赖有没有导入,File->Project Structure,如果没有的话手动导入,点击加号,全部导入即可
如果你用idea创建一个新项目时发现maven依赖不会自动导入到模块中,也就是Project Structure—> Dependencies没有导入依赖,但pom.xml没有报错。
解决方法:
查看setting–>maven中的配置是否是自己maven仓库