如何用IDEA创建springboot(maven)并且整合mybatis连接mysql数据库和遇到的问题
一、New->Project
二、点击next

三、在Group栏输入组织名,Artifact就是项目名。选择需要的java版本,点击next

四、添加需要的依赖

在这里我们也可以添加sql方面的依赖,这样的话,我们就不用手动在pom文件添加依赖了
五、修改您希望放项目的位置,点击finish,等待idea下载springboot项目模板和相关的依赖


项目构建完成后的目录结构
六、如果需要用mybatis连接mysql数据库
1、添加连接数据库的依赖(在pom.xml中添加以下内容,maven将自动把相关依赖放到maven仓库中,然后放到项目中)
<!--连接数据库-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
七、将依赖添加完成后,就是编写代码的部分了
1、添加连接数据库的必要参数(application.properties中)
spring.datasource.url=jdbc:mysql://localhost:3306/taotao?serverTimezone=UTC //红字部分最好写上,不然会报错,这个问题见附录1
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver //如果这个驱动类不懂看附录1
b、pojo类
public class User {
private int userId;
private String userName;
private String userPassword;} 省略get set 方法
c、mapper接口及对应的sql语句
@Mapper
public interface UserMapper {
@Select("select * from user")
List<User> selectUser();
}
如果说 Mapper和Select注解无法使用的话,尝试更改mybatis-spring-boot-starter依赖的版本号,因为1.3.2(最开始写的,其他版本没试)版本是不支持这两个注解的,可以使用1.3.1版
c、controller
@RestController
public class UserController {
@Autowired
UserMapper userMapper;
@RequestMapping("/selectUser")
public String getUserName(){
System.out.println("我进接口了");
return userMapper.selectUser().get(0).getUserName();
}
}
直接运行,访问localhost:8080/selectUser,成功调用数据库,

附录1
参照:https://www.cnblogs.com/liaojie970/p/8916568.html,这里面有详细的解释
com.mysql.jdbc.Driver 是 mysql-connector-java 5中的.
url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false
driverClassName=com.mysql.jdbc.Driver
com.mysql.cj.jdbc.Driver 是 mysql-connector-java 6中的,需要指定时区serverTimezone,不然在启动的时候会报错
url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC&?useUnicode=true&characterEncoding=utf8&useSSL=false
driverClassName=com.mysql.cj.jdbc.Driver
serverTimezone需要按照真实情况写,如果在中国,serverTimezone可以设置为Shanghai或者Hongkong
第一次写这东西,如果有不对的地方,请指正,谢谢
如何用IDEA创建springboot(maven)并且整合mybatis连接mysql数据库和遇到的问题的更多相关文章
- springboot整合mybatis连接mysql数据库出现SQLException异常
在springboot整合mybatis连接数据库的时候,项目中遇到一个SQLException,我检查了properties配置文件,看数据源有没有配错,检查有没有打错字,在数据库中把sql语句查询 ...
- SpringBoot框架:使用mybatis连接mysql数据库完成数据访问(二)
一.导入依赖包 1.在创建项目时勾选: 勾选SQL中的JDBC API.MyBatis Framework.MySQL Driver,创建项目后就会自动配置和引入这些包. 2.在pom.xml文件中添 ...
- SpringBoot 整合 hibernate 连接 Mysql 数据库
前一篇搭建了一个简易的 SpringBoot Web 项目,最重要的一步连接数据库执行增删改查命令! 经过了一天的摸爬滚打,终于成功返回数据! 因为原来项目使用的 SpringMVC + Hibern ...
- kotlin + springboot整合mybatis操作mysql数据库及单元测试
项目mybatis操作数据库参考: http://how2j.cn/k/springboot/springboot-mybatis/1649.html?p=78908 junit对controller ...
- SpringBoot 集成Mybatis 连接Mysql数据库
记录SpringBoot 集成Mybatis 连接数据库 防止后面忘记 1.添加Mybatis和Mysql依赖 <dependency> <groupId>org.mybati ...
- SpringBoot 2.X整合Mybatis
1.创建工程环境 勾选Web.Mybatis.MySQL,如下 依赖如下 <dependency> <groupId>org.springframework.boot</ ...
- 【springboot spring mybatis】看我怎么将springboot与spring整合mybatis与druid数据源
目录 概述 1.mybatis 2.druid 壹:spring整合 2.jdbc.properties 3.mybatis-config.xml 二:java代码 1.mapper 2.servic ...
- springboot通过ssh通道连接mysql数据库
navicat可以通过ssh通道连接mysql数据库,那java中如何实现了,springboot又该怎样集成呢? 1.添加包 <dependency> <groupId>co ...
- Hibernate连接mysql数据库并自动创建表
天才第一步,雀氏纸尿裤,Hibernate第一步,连接数据库. Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个 ...
随机推荐
- LOJ2541. 「PKUWC2018」猎人杀 [概率,分治NTT]
传送门 思路 好一个神仙题qwq 首先,发现由于一个人死之后分母会变,非常麻烦,考虑用某种方法定住分母. 我们稍微改一改游戏规则:一个人被打死时只打个标记,并不移走,也就是说可以被打多次但只算一次.容 ...
- 微信小程序入门与实战 从0到1进行细致讲解 涵盖小程序开发核心技能下载
第1章 什么是微信小程序? 第2章 小程序环境搭建与开发工具介绍 第3章 从一个简单的“欢迎“页面开始小程序之旅 第4章 第二个页面:新闻阅读列表 第5章 小程序的模板化与模块化 第6章 构建新闻详情 ...
- ansible 任务流程控制
一.任务委托 默认情况下,ansible的所有任务都是在指定的机器上运行的,当在一个独立的群集环境中配置时,但是只想操作其中的某一台主机,或者在特定的主机上运行,此时就需要用到ansible的任务委托 ...
- dp之斜率优化
前几天想练练思维,所以从cf上随便找了一道dp题,看完题意后第一感觉很简单,就是简单的区间dp题,但是看到数据范围的我顿时就懵了,(1≤n≤105) emmmmmmmm,按照普通的思路肯定会超时的.. ...
- 【Java】 HashMap
Java HashMap 标签(空格分隔): Java source-code hash-map 总结 HashTable的基本数据结构 Entry的hash与table的长度计算indexFor才能 ...
- OpenJudge计算概论-细菌实验分组
/*====================================================细菌实验分组总时间限制: 1000ms 内存限制: 65536kB描述有一种细菌分为A.B两 ...
- osg模型部分节点旋转
osg::ref_ptr<osg::Geode> CreateBox() { osg::ref_ptr<osg::Geode> geode = new osg::Geode; ...
- IDEA中提示Error:java: Compilation failed: internal java compiler error
解决办法:File-->Setting...-->Build,Execution,Deployment-->Compiler-->Java Compiler 设置相应Modul ...
- C++ - 第一个程序
代码: #include <iostream> using namespace std; int main() { cout << "hello!" < ...
- Node.js event loop 和 JS 浏览器环境下的事件循环的区别
Node.js event loop 和 JS 浏览器环境下的事件循环的区别: 1.线程与进程: JS 是单线程执行的,指的是一个进程里只有一个主线程,那到底什么是线程?什么是进程? 进程是 CPU ...
