- 安装mongodb 略
这里用的maven 项目 在pom.xml中添加依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency>
创建配置类
MongoDataSourceConfig
@Configuration @EnableMongoRepositories(basePackages = arrayOf("com.**.repository")) ① class MongoDataSourceConfig : AbstractMongoConfiguration() { @Bean override fun mongo(): Mongo { val serverAddress = ServerAddress() ② // val credentials: List<MongoCredential> = listOf() ③ return MongoClient(serverAddress) ④ } override fun getDatabaseName(): String { return "test" ⑤ } }
① 开启mongodb的配置 basPackages 的值是所有 repository的路径
② 服务的地址,可以是url,也可以是地址和端口号,可以看下源码的构造方法,无参的构造方法是 localhost:27017
③ credentials mongodb默认没有鉴权,如果自己创建了账号,可以创建 MongoCredential 的list 作为 ④的第二个参数
④ 通过 MongoClient 返回一个 Mongo对象
⑤ 这里是配置数据库名到这里就配置完了
测试
创建一个data bean
@Document(collection = "testmongo") data class TestMongo( @Id val userId: String?, val userName: String? )
interface TestMongoRepository: MongoRepository<TestMongo, String>
@RunWith(SpringRunner::class) @BootstrapWith(SpringBootTestContextBootstrapper::class) @ContextConfiguration(classes = arrayOf(MongoDataSourceConfig::class)) class TestMongoTest { @Autowired lateinit var testMongoRepository: TestMongoRepository @Test fun test01() { testMongoRepository.save(TestMongo(null, "lin")) println(testMongoRepository.findAll()) } }
结果:
{ "_id" : { "$oid" : "592d3d00528feb29a893982d" }, "_class" : "com.kotlin.lin.entity.TestMongo", "userName" : "lin" }
springboot连接mongodb
最新推荐文章于 2024-05-11 15:30:47 发布