数据库使用方法+SpringBoot+Mybatis快速搭建+导入tomcat+访问服务器数据库

需要安装的软件
mysql-5.7.13

链接:https://pan.baidu.com/s/1dehN2hDwtfIqw9IYMZQDPA 密码:utp5

Navicat Premium
链接:https://pan.baidu.com/s/1lxIzSoiN5m4OvcH8B7CK5g 密码:6b3l

idea64.exe

链接:https://pan.baidu.com/s/1qdcV1A0B3MoZfdBaSMfx_g 密码:l4cd


创建表
首先要安装mysql-5.7.13 或者其他版本



打开后出现这个窗口   该窗口不要关闭

然后打开



点击连接 -- -MySQL


根据自己的喜好创建连接名  密码为空 (建议不要设置)  点击确认即可


双击创建的连接   右击新建数据库   输入数据库名,点击确认


双击打开创建的数据库   右击表   ---新建表       然后根据自己的需要添加表的字段

添加完成之后点击  保存   输入表名   点击确认即可创建成功


之后可以再表中找到自己创建的表  然后  右击打开表         输入信息   可以 从左下角增加和删除记录  点击 即可完成表信息的填写

SpringBoot+Mybatis快速搭建


首先要新建一个Project 弹出下列窗口

首先你的电脑里面要已经安装JDK
Project  SDk 选择    SDK   1.8   在下拉箭头里面没有找到的话,点击 new  

点击JDK


在文件夹中寻找到JDK的安装文件  选中   点击ok  然后点击next 进入下列页面


Group  设置
groupid和artifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找。
groupId一般分为多个段,这里我只说两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织。举个apache公司的tomcat项目例子:这个项目的groupId是org.apache,它的域是org(因为tomcat是非营利项目),公司名称是apache,artigactId是tomcat。
  比如我创建一个项目,我一般会将groupId设置为cn.pq,cn表示域为中国,pq是我个人姓名缩写,artifactId设置为testProj,表示你这个项目的名称是testProj,依照这个设置,你的包结构最好是cn.pq.testProj打头的,如果有个StudentPeng,它的全路径就是cn.pq.testProj.StudentPeng

war包:是做好一个web应用后,通常是网站,打成包部署到容器中。
jar包:通常是开发时要引用通用类,打成包便于存放管理。
ear包:企业级应用,通常是EJB打成ear包。

这里选择WAR   选择完成 点击   next    选择所需要的依赖

点击web    出现spring boot页面  勾选 Web   就会出现在右边的界面上


同样的在SQL里面同样的步骤

JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录
摘自:百度百科
可以根据自己的需要选择   点击next

Project  name  为项目名称
project  location 为存储路径  这里可以根据需要  更改   更改完成点击Finish

找到  pom.xml  将下列代码粘贴到对应位置

 <!--tomcat,打包时移除-->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <version>9.0.7</version>
        </dependency>
给这个项目 一个内置的tomcat环境

打包成war时  要将这删除  因为war包是要放到  真正的tomcat里的   不需要这个内置环境了 



 <!-- mybatis generator 自动生成代码插件 -->
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.2</version>
                <configuration>
                    <configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile>
                    <overwrite>true</overwrite>
                    <verbose>true</verbose>
                </configuration>
            </plugin>
用于简化操作使用,将上面的代码粘贴到对应的位置


<!-- 分页插件 -->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper</artifactId>
            <version>4.1.0</version>
        </dependency>

增加一个分页的插件  上述代码粘贴完成之后  点击右下角的  import  Changes 按钮 进行导入更改


接着讲application.properties  改名为  application.yml  如下图所示


点击Refactor  即可                 yml文件的好处,天然的树状结构,一目了然。


内容如下

server:
  port: 80
spring:
    datasource:
        name: test
        url: jdbc:mysql://127.0.0.1:3306/test
        username: root
        password:
        driver-class-name: com.mysql.jdbc.Driver
    thymeleaf:
      prefix: classpath:/templates/
mybatis:
  type-aliases-package: com.example.demo.model
  mapper-locations: classpath:mapping/*.xml
#pagehelper分页插件
pagehelper:
    helperDialect: mysql
    reasonable: true
    supportMethodsArguments: true
    params: count=countSql

根据路径  创建  generator文件夹   并且  generatorConfig.xml文件 
过程如下

右击  创建File


点击ok 则创建成功
将以下代码复制进去

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
    <!-- 数据库驱动:选择你的本地硬盘上面的数据库驱动包-->
    <classPathEntry  location="C:\Users\Administrator\.m2\repository\mysql\mysql-connector-java\5.1.46\mysql-connector-java-5.1.46.jar"/>
    <context id="DB2Tables"  targetRuntime="MyBatis3">
        <commentGenerator>
            <property name="suppressDate" value="true"/>
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>
        <!--数据库链接URL,用户名、密码 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1/test" userId="root" password="">
        </jdbcConnection>
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>
        <!-- 生成模型的包名和位置-->
        <javaModelGenerator targetPackage="com.example.demo.model" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        <!-- 生成映射文件的包名和位置-->
        <sqlMapGenerator targetPackage="mapping" targetProject="src/main/resources">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>
        <!-- 生成DAO的包名和位置-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.example.demo.mapper" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>
        <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->
        <table tableName="user" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
    </context>
</generatorConfiguration>


根据箭头所示文件所在位置更改路径




上述两个地方根据刚开始创建的Group  以及Artifact更改   
改成com.example.demo

tableName是数据库中的表名或视图名 domainObjectName是实体类名--

点击右上角的Edit Configurations


点击Maven



进行如图所示配置
将Command  line  ;         填


mybatis-generator:generate  -e



打开项目中的*Application.java文件,这个文件是springboot的启动类,我们需要添加对应的mapper类的路径

import org.mybatis.spring.annotation.MapperScan;
@MapperScan (value="com.example.demo.mapper")//项目中对应的mapper类的路径
进行如图所示配置
将Command  line  ;         填

package com.example.demo;


import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
@SpringBootApplication
@MapperScan(value="com.example.demo.mapper")//项目中对应的mapper类的路径
public class DemoApplication extends SpringBootServletInitializer implements CommandLineRunner {


    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(DemoApplication.class);
    }
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
    @Override
    public void run(String... args) throws Exception {
        System.out.println("启动成功");
    }
}

添加部分代码实现查询所有用户功能

  • interface UserMapper内添加如下代码

  List<User> selectAllUser();
 出现List报错  点击List  按住ALT+ enter  




  • UserMapper.xml内添加如下代码

<select id="selectAllUser" resultMap="BaseResultMap">
    select
    <include refid="Base_Column_List" />
    from user
  </select>


mapper同级路径下新建service文件夹,并在下面新建impl文件夹


  • UserService.java新建这个接口并添加如下代码,放在service路径下(mapper同级路径下新建service文件夹,并在下面新建impl文件夹)
  • 先创建service文件夹  然后创建UserService.java     再创建impl文件夹,要不然 impl和service文件夹会合并

package com.example.demo.service;
import com.example.demo.model.User;
import java.util.List;
public interface  UserService {
    List<User> findAllUser();
}

  • UserServiceImpl.java新建这个类放在impl         
package com.example.demo.service.impl;
import com.example.demo.mapper.UserMapper;
import com.example.demo.model.User;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service(value = "userService")
public class UserServiceImpl implements UserService {
    @Autowired
    private UserMapper userMapper;//这里会报错,但是并不会影响
    @Override
    public List<User> findAllUser() {
        return userMapper.selectAllUser();
    }
}



根据自己的项目名更改箭头方向的代码
selectAllUser报错的话    点击它  alt+enter  点击第一个    出现下图所示操作

  • 新建controller文件夹在package路径下,并新建UserController.java

package com.example.demo.controller;

import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@RequestMapping(value = "/user")
public class UserController {
    @Autowired
    private UserService userService;
    @ResponseBody
    @RequestMapping(value = "/select",method= RequestMethod.GET)
    public Object findAllUser(){
        return userService.findAllUser();
    }
}

出现错误,可以通过 alt+ enter  解决


Servletlnitializer 文件 这个删除掉


端口号需要和tomcat里面一致



查看tomcat端口号  打开这个文件夹


把这两个地方根据自己的接口更改



点击上图的按钮 然后  运行
如果这里没有这个按钮可以从下图标明的方法run

出现以下错误


打开这个文件  把重复的删除掉

出现启动成功即可
如果出现端口占用的问题  那么就 右击我的电脑-----管理   然后出现下列界面  根据步骤关闭lIs服务



之后在浏览器输入 http://localhost/user/select  
浏览数据库内容     格式为localhost:端口号/接口
80 为默认端口可省略   但是若是8080需改成  localhost:8080

没有问题之后将下图中箭头指定的代码去除之后打包





出现创建的包名之后点击ok


然后找到Build  中的Build  Artifacts  


弹出小窗口,点击刚才创建的包名   点击build


然后到创建的项目中找到这个war包路径如上图所示
然后把这个复制

war包部署到tomcat

将复制的war包粘贴到tomcat下的webapps文件夹下 什么配置都不需要,直接启动就行了


启动完成


这里会生成和war包相同的文件夹

如果确保没问题 那就想想 你服务器mysql启动了没 密码对不对 表名对不对 等等
 如果出现端口冲突    注意服务端的IIS也要关闭

http://xxxx.xxxx.xxxx.xxxx.8080/demo_war/user/select
xxxx.xxxx.xxxx.xxxx为服务器端的IP地址
然后在本地输入这个地址,即可访问数据库的内容了


需要其他接口的话
先在mapper定义接口,然后在mapping/文件夹下的对应xml内实现sql。
再在service下interface定义方法,在service/impl内实现,实现方式是通过
注解自动注入mapper调用mapper定义的方法。最后在控制器内调用service下interface定义的方法

参考https://www.yasinyuan.com/index.php/archives/65/

猜你喜欢

转载自blog.csdn.net/qq_41261758/article/details/80287283