Get the App
SLTechnology News&Howtos  ›  Development  › 

How to solve the problem of program startup jam caused by Mybatis error

Shulou Source: shulou.com Published: 2022-06-01 18:52:32 09月14日 Update

In this article, the editor introduces in detail "how to solve the program startup jam caused by Mybatis error". The content is detailed, the steps are clear, and the details are handled properly. I hope this article "how to solve the program startup jam caused by Mybatis error" can help you solve your doubts.

Program startup jam caused by Mybatis error

Troubleshooting method for program startup jam caused by mybatis xml error (without any error message, console jam)

Solution.

Raise the log level to debug to see if there is any abnormal information in the log.

Create a new class, inherit the org.mybatis.spring.SqlSessionFactoryBean class, overload the buildSqlSessionFactory method, catch the NestedIOException exception, and print the exception, as follows:

Public class MySqlSessionFactoryBean extends SqlSessionFactoryBean {protected SqlSessionFactory buildSqlSessionFactory () throws IOException {try {return super.buildSqlSessionFactory ();} catch (NestedIOException e) {/ /-XML prints exception e.printStackTrace (); throw new NestedIOException ("Failed to parse mapping resource:" + e);}

Modify the mybatis configuration file to replace org.mybatis.spring.SqlSessionFactoryBean with the newly created class, and start it again to output mybatis exception information in the console.

Cause analysis

When Spring parses the mapper.xml file and executes SqlSessionFactoryBean.buildSqlSessionFactory () to the breakpoint, the exception thrown is handled by spring, but no log information is output

Mybatis startup error

There was an error message while reviewing the basics of mybatis today.

The specific error reports are as follows

Exception in thread "main" org.apache.ibatis.binding.BindingException: Type interface com.hxb.mapper.AccountMapper is not known to the MapperRegistry.

At org.apache.ibatis.binding.MapperRegistry.getMapper (MapperRegistry.java:47)

At org.apache.ibatis.session.Configuration.getMapper (Configuration.java:745)

At org.apache.ibatis.session.defaults.DefaultSqlSession.getMapper (DefaultSqlSession.java:292)

At com.hxb.test.test1.main (test1.java:22)

The main content is that the interface cannot be found, and there may be two problems.

1. The mapper file is not registered in the resource file.

2. Another kind of error is the miswriting of the namespace file in the mapper.xml file.

/ / incorrect writing / / correct writing

To sum up, use "." when you don't need a suffix, use / when you need a suffix.

After reading this, the article "how to solve the program startup jam caused by Mybatis errors" has been introduced. If you want to master the knowledge points of this article, you still need to practice and use it yourself. If you want to know more about related articles, welcome to follow the industry information channel.

Tags: Error file program information content article log writing suffix method time processing control output proper no two again method reason Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Xiaomi Microsoft macOS vpn Shulou Technology