学习在idea里面使用springboot和mybatis整合并实现从数据库获取用户信息
一、新建一个spring boot项目
1、首先,新建一个spring boot项目,这里选中 Spring Initializr,然后选择java版本,点击next,如下图所示;
2、输入包名,其他选择默认,点击next,如下图所示;
3、选中web,后,选择spring web,也可以在上方更换spring boot版本,点击next,如下图所示;
4、输入项目名,和项目路径,点击finish,如下图所示;
二、添加mybatis
1、现在一个spring boot项目就建好了,我们开始添加mybatis的maven依赖,打开pom.xml,在dependencies里面的最下面的dependence标记下方新增如下代码
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.19</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
<version>2.2.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.2.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.4</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.10</version>
</dependency>
添加好后,pom文件可能会有报错,因为有的jar包之前没有下载过,点击maven的刷新,就会自动下载没有的jar包,下载完报错就会消失。
三、配置数据源
在application.yml或者aplication.properties中添加数据库连接的主机、用户和密码,我用的是application.yml,代码格式如下
spring:
datasource:
url: jdbc:mysql://主机地址:3306/testdb?useUnicode=true&characterEncoding=UTF-8&useSSL=false
username: adminblog
password: H18585924921hp
driver-class-name: com.mysql.cj.jdbc.Driver
四、使用idea的database管理数据库
打开database管理界面,点击加号,选择Database source -> mysql 第一行name谁便填,填写好主机名、用户和密码后,点击test connection 下方有绿色的勾说明连接成功了,点击ok。如下图所示:
五、安装Free mybatis plugin 自动生成mybatis的mapper插件
依次点击 File -> setting ->plugin 搜索free mybatis plugin插件 ,点击安装。
六、生成mybatis的mapper相关文件
1、先在新建好项目所需的相关包和文件夹,如下图所示:
2、在database界面选中目标表,右键点击mybatis-generate ,填好package的位置,点击ok完成实体类、mapper类和mapper的xml 的自动添加,如下图所示:
七、获取数据库的一条数据
1、现在入口函数Demoapplication.java里添加mapper的自动扫描注解
package com.ssmproject.demo;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@MapperScan("com.ssmproject.demo.dao")
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
2、在service包里面新建一个adminservice.java接口,添加获取用户方法,代码如下:
package com.ssmproject.demo.service;
import com.ssmproject.demo.entity.Admin;
public interface AdminService {
public Admin getAdminById(int id);
}
新建一个impl实现接口包,在包里面新增adminserviceimpl类继承自adminservice,并在里面实现获取用户函数;admindao的注入;还需在类上面添加@Service注解,完整代码如下:
package com.ssmproject.demo.service.impl;
import com.ssmproject.demo.dao.AdminDao;
import com.ssmproject.demo.entity.Admin;
import com.ssmproject.demo.service.adminservice;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service
public class AdminServiceImpl implements AdminService {
@Resource
private AdminDao adminDao;
@Override
public Admin getAdminById(int id) {
Admin admin=adminDao.selectByPrimaryKey(id);
return admin;
}
}
3、在controller包新建AdminController,在里面添加一个请求获取一条用户信息,完整代码如下:
package com.ssmproject.demo.controller;
import com.ssmproject.demo.entity.Admin;
import com.ssmproject.demo.service.AdminService;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
@Controller
public class AdminController {
@Resource
private AdminService adminService;
@RequestMapping("/getadmin")
@ResponseBody
public Admin getAdmin(){
Admin admin=adminService.getAdminById(3);
return admin;
}
}
4、最后一步,在application.yml中添加,mapper的xml文件的扫描路径,代码如下:
mybatis:
configuration:
map-underscore-to-camel-case: true
mapper-locations: classpath:/mapper/*.xml
此时application.yml的完整代码如下
spring:
datasource:
url: jdbc:mysql://主机名:3306/testdb?useUnicode=true&characterEncoding=UTF-8&useSSL=false
username: adminblog
password: H18585924921hp
driver-class-name: com.mysql.cj.jdbc.Driver
mybatis:
configuration:
map-underscore-to-camel-case: true
mapper-locations: classpath:/mapper/*.xml
八、项目完成
启动项目,打开DemoApplication.java,右键run "DemoApplication"。 控制台无报错,浏览器上输入http://localhost:8080/getadmin,成功获取一条用户信息
九、总结
如果按照上面一步一步来,一般都不会错。如果有问题请在下面评论区留言!!!
在我的个人博客也有同样的文章http://www.huangpeng.net/article/17,欢迎访问和留言!!!