目录
1.pom依赖导入
1.1 集成web容器(Spring webMVC)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
1.2集成mybatis(mybatis不是官方的启动器)
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>
1.3相关依赖(数据库,lombok)
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
2.编写配置
2.1 yml中添加数据源配置以及mybatis配置
server:
port: 8080
spring:
datasource:
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/eshop?useSSL=false&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&allowPublicKeyRetrieval=true
mybatis:
mapper-locations: classpath*:mapper/*.xml
type-aliases-package: com.wyy.code.pojo
#驼峰命名法
configuration:
map-underscore-to-camel-case: true
2.2 Generator.properties
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/eshop?useSSL=false&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&allowPublicKeyRetrieval=true
jdbc.username=root
jdbc.password=123456
jdbc.driverLocation=E:\\maven_jar\\mysql\\mysql-connector-java\\8.0.27\\mysql-connector-java-8.0.27.jar
model.package=com.wyy.code.pojo
mapper.package=com.wyy.code.dao
xml.mapper.package=mapper
2.3 generatorConfig.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>
<properties resource="generator.properties"/>
<!--指定数据库jdbc驱动jar包的位置-->
<classPathEntry location="${jdbc.driverLocation}"/>
<context id="MySqlContext" targetRuntime="MyBatis3" defaultModelType="flat">
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<property name="javaFileEncoding" value="UTF-8"/>
<!--生成mapper.xml时覆盖原文件-->
<!-- <plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin"/>
<plugin type="org.mybatis.generator.plugins.MyBatisPlugin">
<property name="hasLombok" value="true"/>
</plugin>
-->
<!--可以自定义生成model的代码注释-->
<commentGenerator>
<property name="suppressAllComments" value="true"/> <!-- 是否取消注释 -->
<property name="suppressDate" value="true"/> <!-- 是否生成注释代时间戳 -->
</commentGenerator>
<!--配置数据库连接-->
<jdbcConnection driverClass="${jdbc.driver}"
connectionURL="${jdbc.url}"
userId="${jdbc.username}"
password="${jdbc.password}">
<!--解决mysql驱动升级到8.0后不生成指定数据库代码的问题-->
<property name="nullCatalogMeansCurrent" value="true"/>
</jdbcConnection>
<!-- 非必需,类型处理器,在数据库类型和java类型之间的转换控制-->
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!--指定pojo生成位置-->
<javaModelGenerator targetPackage="${model.package}" targetProject="src\main\java"/>
<!--指定生成mapper.xml的路径-->
<sqlMapGenerator targetPackage="${xml.mapper.package}" targetProject="src\main\resources"/>
<!--指定生成mapper接口的的路径-->
<javaClientGenerator type="XMLMAPPER"
targetPackage="${mapper.package}"
targetProject="src\main\java"/>
<table tableName="student" domainObjectName="Student">
<!--<columnOverride column="create_time" javaType="java.sql.Timestamp" jdbcType="timestamp"/>-->
<!--<columnOverride column="modify_time" javaType="java.sql.Timestamp" jdbcType="timestamp"/>-->
<property name="enableCountByExample" value="false"/>
<property name="enableDeleteByExample" value="false"/>
<property name="enableDeleteByPrimaryKey" value="false"/>
<property name="enableInsert" value="false"/>
<property name="enableSelectByPrimaryKey" value="false"/>
<property name="enableUpdateByExample" value="false"/>
<property name="enableUpdateByPrimaryKey" value="false"/>
<property name="selectByExampleQueryId" value="true"/>
<property name="selectByPrimaryKeyQueryId" value="false"/>
<!--自动生成主键,可以代替useGeneratedKeys-->
<generatedKey column="stu_id" sqlStatement="Mysql" type="post" identity="true"/>
</table>
</context>
</generatorConfiguration>
2.4 开启mapper扫描
@MapperScan("com.wyy.code.dao")
2.5 开启事务
@EnableTransactionManagement
3.通用mapper的集成
3.1导入依赖
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.0.2</version>
</dependency>
mapper接口继承mapper
4.表注解(pojo类)
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>persistence-api</artifactId>
<version>1.0</version>
<scope>compile</scope>
</dependency>
@Table(name="tb_brand") 指定要映射的数据库中的哪个表
@Id 表示该成员变量是主键id
@GeneratedValue(strategy = GenerationType.IDENTITY) 标识该主键的策略,自增
@Column(name = "name") 标识该成员变量跟数据库中的name字段映射
@Transient 不是表字段