依赖补充按照官方给的代码依赖是不够的,这里需要对maven的pom文件进行补充。
<dependency> <groupid>org.mybatis.spring.boot</groupid> <artifactid>mybatis-spring-boot-starter</artifactid> <version>2.2.0</version> </dependency> <dependency> <groupid>mysql</groupid> <artifactid>mysql-connector-java</artifactid> <scope>runtime</scope> </dependency>
数据库文件配置这里我们还是使用mysql作为测试数据库,fm(fluent mybatis的简称)可以支持很多种数据库,暂时我们不考虑其他的数据库。
在application.properties文件中添加mysql数据库配置,至于druid连接池的使用后面的篇章用到再说。也可以用application.yml,这个随意。
spring.datasource.username=rootspring.datasource.password=123456spring.datasource.url=jdbc:mysql://192.168.0.108:3306/test?usessl=false&useunicode=true&characterencoding=utf-8spring.datasource.driver-class-name=com.mysql.jdbc.driver
测试代码再测试包中加入测试代码,主要是做一个简单的插入数据测试。
代码如下:
package com.hy.fmp.test; import com.hy.fmp.application;import com.hy.fmp.fluent.entity.testfluentmybatisentity;import com.hy.fmp.fluent.mapper.testfluentmybatismapper;import org.junit.jupiter.api.test;import org.springframework.beans.factory.annotation.autowired;import org.springframework.boot.test.context.springboottest; import java.util.date; @springboottest(classes = application.class)public class inserttest { @autowired testfluentmybatismapper testfluentmybatismapper; @test public void testinsertdefaultvalue() { // 插入数据 testfluentmybatismapper.insert( new testfluentmybatisentity() .setage(18) .setname("法外狂徒张三") .setcreatetime(new date()) .setdelflag(0)); }}
说明:
1、注意testfluentmybatismapper是target包内的mapper类。
2、表实体testfluentmybatisentity可以通过链式的代码写法。
@accessors( chain = true)
增加扫描mapper注解扫描的mapper也是target包内的mapper目录
@springbootapplication@mapperscan({"com.hy.fmp.fluent.mapper"})public class application { public static void main(string[] args) { springapplication.run(application.class, args); }}
执行测试代码下面我们测试一下插入代码
发现这里报了个异常,调整代码,增加配置类。
代码如下,增加mapperfactory注入。
package com.hy.fmp.config; import cn.org.atool.fluent.mybatis.spring.mapperfactory;import org.springframework.context.annotation.bean;import org.springframework.context.annotation.configuration; @configurationpublic class applicationconfig { // @bean("datasource") // public druiddatasource newdatasource() { // return datasourcecreator.create("datasource"); // } // // @bean // public sqlsessionfactorybean sqlsessionfactorybean() throws exception { // sqlsessionfactorybean bean = new sqlsessionfactorybean(); // bean.setdatasource(newdatasource()); // resourcepatternresolver resolver = new pathmatchingresourcepatternresolver(); // // 以下部分根据自己的实际情况配置 // // 如果有mybatis原生文件, 请在这里加载 // bean.setmapperlocations(resolver.getresources("classpath*:mapper/*.xml")); // /* bean.setmapperlocations( // /* new classpathresource("mapper/xml1.xml"), // /* new classpathresource("mapper/xml2.xml") // /* ); // */ // org.apache.ibatis.session.configuration configuration = // new org.apache.ibatis.session.configuration(); // configuration.setlazyloadingenabled(true); // configuration.setmapunderscoretocamelcase(true); // bean.setconfiguration(configuration); // return bean; // } // 定义fluent mybatis的mapperfactory @bean public mapperfactory mapperfactory() { return new mapperfactory(); }}
重新执行一下看看效果。
执行成功,看看表里的数据。ok,完美。
以上就是如何使用java fluent mybatis验证对数据库的操作的详细内容。