1 简介
最近小编看了很多招聘需求,都是需要熟悉springboot或者springcloud,也就是说微服务火起来了.所以小编连夜加
班为家搭建springboot项目,并且总结相关知识点,希望能帮助大家成长.当然小编也有需要不足,希望大家踊跃提建议.
好了直接上代码了.....
2 简单介绍springboot.
Spring Boot 简化了基于Spring的应用开发,只需要“run”就能创建一个独立的、生产级别的Spring应用。Spring Boot为Spring
平台及第三方库提供开箱即用的设置(提供默认设置),这样我们就可以简单的开始。多数Spring Boot应用只需要很少的Spring配置。
3 搭建springboot项目
-
项目框架 springboot + mybatis(逆向工程) + maven +mysql
-
sql脚本,采用InnoDB 的存储引擎
-
CREATE TABLE
user
(
id
int(6) NOT NULL,
userName
varchar(64) DEFAULT NULL,
userAge
int(32) DEFAULT NULL,
userAddress
varchar(256) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8; -
项目结构.在这里我多说一句springboot的启动类所在的包一定是其他雷所在的包的父包.
-
pom文件
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.1.RELEASE</version>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.5.4</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.4</version>
</dependency>
</dependencies>
4 编码阶段
- springboot启动类
2 controller层
@RequestMapping(value={"/user/list"}, method=RequestMethod.GET)
public List<User> getUserList(){
return userService.selectUserList();
}
3 service和mapper层就省略了啊.直接到数据库连接和逆向工程.
4 数据库连接和逆向工程
application.properties文件配置数据库连接和mapper.xml的加载
spring.datasource.url=jdbc:mysql://localhost:3306/depot
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
mybatis.mapper-locations=mapper/*.xml // 扫描加载xml文件
5 逆向工程的配置(逆向工程就是从数据库读取表,自动生成mapper,model和mapper.xml)
<?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>
<context id="testTables" targetRuntime="MyBatis3">
<commentGenerator>
<!-- 是否去除自动生成的注释 true:是 : false:否 -->
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/depot" userId="root"
password="root">
</jdbcConnection>
<!-- <jdbcConnection driverClass="oracle.jdbc.OracleDriver"
connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:yycg"
userId="yycg"
password="yycg">
</jdbcConnection> -->
<!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和
NUMERIC 类型解析为java.math.BigDecimal -->
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- targetProject:生成PO类的位置 -->
<javaModelGenerator targetPackage="com.itheima.mybatis.model"
targetProject=".\src">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
<!-- 从数据库返回的值被清理前后的空格 -->
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- targetProject:mapper映射文件生成的位置 -->
<sqlMapGenerator targetPackage="com.itheima.mybatis.mapper"
targetProject=".\src">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.itheima.mybatis.mapper"
targetProject=".\src">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
<!-- 指定数据库表 -->
<table schema="" tableName="user"></table>
<!-- <table schema="" tableName="orders"></table> -->
<!-- 有些表的字段需要指定java类型
<table schema="" tableName="">
<columnOverride column="" javaType="" />
</table> -->
</context>
</generatorConfiguration>
4 知识点总结
- model的总结
可以使用这种@Getter和@Setter,只需要加上这个依赖就可以了.
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
2 注解的介绍
@SpringBootApplication //springboot的启动注解
@EnableAutoConfiguration //开启自动注入和自动从默认位置加载配置文件
@MapperScan("com.example.demo.mapper")//将项目中对应的mapper类的路径加进来就可以了
@RestController // 返回json数据的注解
3 逆向工程的扩展(ps 有些人不喜欢example,这里可以配置生成的简单明了的sql语句)
<!-- 指定数据库表 -->
配置表的时候加入这个就ok了
<table tableName="user"
enableCountByExample="false"
enableUpdateByExample="false"
enableDeleteByExample="false"
enableSelectByExample="false"
selectByExampleQueryId="false">
</table>
插询结果(ps 小编可是测试过咯)
作者 : 连理枝
来源 :优快云
github地址 : https://github.com/lianlizhi/springboot.git
转载请注明出处 : https://blog.youkuaiyun.com/qq_41513129/article/details/88972453
版权声明 :本文为博主原创文章,转载请附上博文链接!