大家好,关于IDEA集成Spring Boot与MyBatis操作指南很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!
汽车用品
但仔细想想,数据库的连接信息(如数据库连接URL、账号、密码等)并没有指定,这有点太聪明了。我正在使用IntelliJ IDEA,不知道是否与此有关。总之,经过一番摸索,终于成功连接了spring boot+mybatis。本文将记录项目从创建到最终成功执行的整个过程。
创建工程
Idea新建项目向导,选择springinitializr模板,下一步
弹簧初始化
点击下一步后,idea会上网获取spring模板,所以你的电脑必须在线,获取到的模板是这样的
New-ProjectName 和后面的Version 与最终.jar 或.war 输出的文件名相关。请注意,这不是最终的项目名称,但具有类似的含义。这里Name就写spring-boot-mybatis即可; type是你选择用什么来管理你的项目,我用的是gradle,所以我选择gradle项目;打包选择打包类型,这是一个spring boot项目,一般选择jar; Java Version选择机器上安装的Java版本,我的是1.7;语言选择Java; Group和Package最后一项是和项目的包结构有关的,比如我的com.example,那么以后所有新的包都会在这个包里。以下; Artifact与第一项的Name有关,不用担心; version是项目的版本号,我希望它短一点,所以我就写1.0。 Description是项目的描述信息,随便写,或者用这个默认就OK
最后填写完后,会是这样的
项目设置
下一步之后,您需要选择一些将在项目中使用的依赖项。为简单起见,此处不选择任何内容并直接进入下一步。来到项目配置。您可以在此处填写项目名称。 Idea 已经帮你填好了。如果您愿意,可以更改它。以下是项目的存储路径。默认就好了。单击完成。然后弹出一个设置gradle的窗口,选择use auto-import并使用默认的gradlewrapper(推荐),如下图。gradle的设置之后在file-settings...那里也可以改的。等级设置
点击确定后,就会按照刚才的设置开始下载相关模板。
** 以上是使用Idea新建一个Spring Boot项目的步骤。与mybatis无关o()o **
添加依赖
打开build.gradle文件。可以在dependency中看到已经有两个依赖了。知道了
依赖项{
编译("org.springframework.boot:spring-boot-starter")
testCompile("org.springframework.boot:spring-boot-starter-test")
}添加MyBatis-Spring-Boot-Starter依赖以支持mybatis。
依赖项{
编译("org.springframework.boot:spring-boot-starter")
testCompile("org.springframework.boot:spring-boot-starter-test")
编译("org.mybatis.spring.boot:mybatis-spring-boot-starter:1.1.1")
}
编写代码
打开src 文件夹,在com.example 包下创建新的实体和映射器包,用于存储实体和实体映射。在entity包中新建Person类,在mapper包中创建PersonMapper接口。目录结构如下
结构
Person.java的内容如下: public class Person {
/** 唯一标识符*/
私有int id;
/** 姓名*/
私有字符串名称;
/** 年龄*/
私有整数年龄;
/** 描述*/
私有字符串描述;
//省略Getter和Setter
@覆盖
公共字符串toString() {
返回“人{”+
"id=" + id +
", 名称="" + 名称+ """ +
", 年龄=" + 年龄+
", 描述="" + 描述+ """ +
"}";
}
}编写PersonMapper时,按照官网的示例,使用@Select注解,其中包含sql语句,所以必须知道数据库中对应的表字段。数据库中person表的字段如下:
mysqldesc 人;
+-------------+-------------+------+-----+-------- -+----------------+
|领域|类型|空|关键|默认|额外|
+-------------+-------------+------+-----+-------- -+----------------+
|编号|整数(32)|否|优先原则|空|自动增量|
|名称| varchar(64) | varchar(64) |是| |空| |
|年龄|整数(5) |是| |空| |
|描述|文字|是| |空| |
+-------------+-------------+------+-----+-------- -+----------------+PersonMapper.java内容如下:
导入com.example.entity.Person;
导入org.apache.ibatis.annotations.Mapper;
导入org.apache.ibatis.annotations.Param;
导入org.apache.ibatis.annotations.Select;
@映射器
公共接口PersonMapper {
@Select("从id=#{id} 的人中选择*")
Person getById(@Param("id") int id);
}
在Application中测试
SpringBootMybatisApplication.java 内容如下
导入com.example.mapper.PersonMapper;
导入org.springframework.beans.factory.annotation.Autowired;
导入org.springframework.boot.CommandLineRunner;
导入org.springframework.boot.SpringApplication;
导入org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
公共类SpringBootMybatisApplication 实现CommandLineRunner{
@Autowired
私人PersonMapper personMapper;
公共静态无效主(字符串[] args){
SpringApplication.run(SpringBootMybatisApplication.class, args);
}
@覆盖
公共无效运行(字符串.参数)抛出异常{
System.out.println(this.personMapper.getById(2));
}
}内容与官网提供的示例代码类似。以上编写代码的步骤与官网上的类似。写到这里已经快完成了,运行一下吧。运行的结果是抛出本文开头提到的异常,bean创建失败。等等,我好像忘记了什么。嗯,连接数据库的东西还没有设置好!
在哪里设置呢?一般都是新建一个mybatis.xml文件,然后通过Resource什么的加载这个文件,创建SqlSessionFactory等。但是完全没有这个必要。也许这就是Spring Boot的力量。它最大限度地减少了xml等配置文件,官网也说会自动创建,但至少数据库的连接信息还是需要指定的。那么如果没有xml配置,连接数据库的信息写在哪里呢?
一般新建一个spring boot项目时,都会有一个application.properties文件,数据库配置信息就写在那里。该文件的路径是:
主要
java
com
范例
SpringBootMybatisApplication.java
实体
Person.java
映射器
PersonMapper.java
资源
这是application.properties 底部的那个。在application.properties中添加以下内容
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver 这四项是大家再熟悉不过的数据库连接信息了。但com.mysql.jdbc.Driver最后一项是红色的,因为没有添加mysql驱动。在build.gradle中添加依赖:
依赖项{
编译("org.springframework.boot:spring-boot-starter")
testCompile("org.springframework.boot:spring-boot-starter-test")
编译("org.mybatis.spring.boot:mybatis-spring-boot-starter:1.1.1")
编译("mysql:mysql-connector-java")
}红色消失。再次运行,结果如下:
2016-07-26 17:02:00.283 INFO 4460 --- [main] c.example.SpringBootMybatisApplication : 没有活动配置文件集,回退到默认配置文件: default
2016-07-26 17:02:00.321 INFO 4460 --- [main] s.c.a.AnnotationConfigApplicationContext : 刷新org.springframework.context.annotation.AnnotationConfigApplicationContext@62ccf439: 启动日期[7 月26 日星期二:023336 000 CST 2016];上下文层次结构的根
2016-07-26 17:02:01.604 INFO 4460 --- [main] o.s.j.e.a.AnnotationMBeanExporter : 在启动时注册用于JMX 暴露的bean
Person{id=2,name="Alice",age=15,description="Alice是一个可爱的女孩"}
2016-07-26 17:02:01.873 INFO 4460 --- [main] c.example.SpringBootMybatisApplication : 在1.877 秒内启动了SpringBootMybatisApplication (JVM 运行了2.114)
2016-07-26 17:02:01.874 INFO 4460 --- [Thread-1] s.c.a.AnnotationConfigApplicationContext : 关闭org.springframework.context.annotation.AnnotationConfigApplicationContext@62ccf439: 启动日期[7 月26 日星期二17:02333 6000 CST 2016];上下文层次结构的根
2016-07-26 17:02:01.875 INFO 4460 --- [Thread-1] o.s.j.e.a.AnnotationMBeanExporter : Unregistering JMX-exposeed beans on shutdown 可以看到中间打印了Person信息,与数据库中的数据一致:
mysqlselect * from person where id=2;
+----+--------+-----+--------------------+
|编号|名称|年龄|描述|
+----+--------+-----+--------------------+
| 2 |爱丽丝| 15 | 15爱丽丝是个可爱的女孩|
OK,本文到此结束,希望对大家有所帮助。
【IDEA集成Spring Boot与MyBatis操作指南】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
我最近在学习Spring Boot,这篇文章正好赶上了我的需求!
有20位网友表示赞同!
想把 IntelliJ 的功能和 Spring Boot 一起来用,这篇详解应该很有帮助。
有12位网友表示赞同!
看标题好像讲得很详细,希望能一步步地讲解整个接入过程吧。
有16位网友表示赞同!
MyBatis 实在太好用,如果能在Spring Boot里方便使用那就更棒了!
有15位网友表示赞同!
我已经试过用其它IDE开发Spring Boot项目的,但IntelliJ IDEA 的功能还是让人很期待。
有16位网友表示赞同!
准备开始学习 Spring Boot 和 MyBatis 了,希望能从这篇文章里面学到很多东西。
有7位网友表示赞同!
不知道这篇详解会不会给新手讲解一些基本的知识点呢?
有19位网友表示赞同!
最近遇到一些项目开发的瓶颈,希望这篇文章能给我一些启发。
有13位网友表示赞同!
期待看到一些代码示例和详细的配置步骤!
有19位网友表示赞同!
看来这篇文章值得一读,希望能有更深入的讲解。
有11位网友表示赞同!
如果文章里讲到一些常见问题和解决方案就更好了!
有17位网友表示赞同!
终于找到一个对 IntelliJ IDEA、Spring Boot 和 MyBatis 进行详细讲解的文章了!
有11位网友表示赞同!
这篇文章很有可能成为我学习和解决问题的宝典!
有20位网友表示赞同!
希望能清晰地介绍不同组件之间的集成过程
有19位网友表示赞同!
对于刚从其它IDE转到IntelliJ IDEA 的开发者来说,这篇详解非常有用!
有15位网友表示赞同!
期待阅读一些关于优化性能和提高效率的一些建议。
有6位网友表示赞同!
希望这篇文章能够帮助我更深入地了解Spring Boot应用的开发流程。
有13位网友表示赞同!
如果文章讨论了不同数据库类型的使用方式就更好了!
有16位网友表示赞同!
希望能看到一些项目案例,更加直观地理解整个接入过程
有15位网友表示赞同!