美文网首页
我的spring boot 执行了逆向工程 集成mybatis运

我的spring boot 执行了逆向工程 集成mybatis运

作者: 一起吃麻辣糖 | 来源:发表于2020-07-28 11:06 被阅读0次

遇到的问题:

1.Invalid bound statement (not found)

分两种解决办法:

接口文件和映射文件分开:

图片.png
mybatis.mapper-locations=classpath:mappers/*.xml
在application.properties配置文件中指定映射文件的位置,这个配置只有接口和映射文件不在同一个包的情况下,才需要指定。

接口文件和映射文件在一起:

图片.png
此时,Mybatis的xml映射文件不会编译到target的class目录下,所以我们需要在pom.xml文件中配置resource

<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>*/.xml</include>
</includes>
</resource>
</resources>

2.java.sql.SQLException: The server time zone value '�й���׼ʱ��' is unrecognized or represents more than

根据警告说明数据库驱动采用的是新的驱动器SPI机制加载的, 解决办法

1.改驱动 com.mysql.cj.jdbc.Driver

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

2.链接url的时区必须加上, 需要用到的地方都要加上

spring.datasource.url=jdbc:mysql://localhost:3306/spring?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC

整个过程:

1.在pom.xml文件添加mybatis相关依赖:

 <!--MyBatis整合SpringBoot的起步依赖-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.0.0</version>
        </dependency>

        <!--MySQL的驱动依赖-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

2.在Mybatis反向工程生成的StudentMapper接口上加一个Mapper注解

@Mapper作用:mybatis自动扫描数据持久层的映射文件及DAO接口的关系

@Mapper
public interface BookMapper {
    int insert(Book record);

    int insertSelective(Book record);
}

3.编写业务层:

public interface bookService {

    void insert(Book book);

    void inserterr(Book book);

}

@Service
public class bookServiceImp implements bookService{

    @Autowired
    private BookMapper bookMapper;
    @Override
    public void insert(Book book) {
        bookMapper.insert(book);
    }

}

这里自动可能会出现:

图片.png

但没影响,也可正常执行。

4.编写控制层:

 @Autowired
    private bookService bookService;
    @RequestMapping("/testmybatis")
    public @ResponseBody String insertBook(@RequestParam String bookName,Integer isbn,BigDecimal price){
        System.out.println(bookName);
        Book book=new Book();
        book.setIsbn(isbn);
        book.setBookName(bookName);
        book.setPrice(price);
        System.out.println(book);
        bookService.insert(book);
        return "hi";
    }

5.开启springboot,测试即可

http://localhost:8080/testmybatis?isbn=7&bookName=spring&price=10

图片.png

相关文章

网友评论

      本文标题:我的spring boot 执行了逆向工程 集成mybatis运

      本文链接:https://www.haomeiwen.com/subject/yozxrktx.html