您的位置:首页 > 运维架构 > Tomcat

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

2018-05-11 22:52 585 查看
需要安装的软件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 弹出下列窗口
首先你的电脑里面要已经安装JDKProject  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
来源: https://www.cnblogs.com/elenaPeng/p/6723640.html
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/

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐