zoukankan      html  css  js  c++  java
  • 如何用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版
    如果不使用这中注解的话,需要在配置文件中添加mapper的位置mybatis.mapper-locations=classpath:mapper的文件名称/*Mapper.xml
    如果mapper无法进行自动注入,报错的话,不用Autowired进行注入,用Resource注解注入。

    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

    第一次写这东西,如果有不对的地方,请指正,谢谢

    
    
  • 相关阅读:
    flask之视图
    android studio 配置阿里云镜像 加速
    mac idea phpstorm 提示 clear read-only status 解决办法
    如何给网站一键变黑?如哀悼日,一行css代码解决
    Android base64加密中文乱码问题解决记录
    微信Android app支付 重要记录,重要!!
    mysql 数据库拷贝innodb 操作注意事项,宝塔面板
    Linux 服务器使用shell脚本 实现 间隔N秒访问url
    echarts pie饼图块颜色设置
    Linux 服务器 node 节点满了引发的灾难,请定期清理node节点
  • 原文地址:https://www.cnblogs.com/heibo/p/11768253.html
Copyright © 2011-2022 走看看