springboot秒杀课程学习整理1-1
1)新建一个maven工程quickStart,然后在pom文件里添加依赖
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.5.RELEASE</version> </parent> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
启动的注解
@SpringbootApplication 默认的启动注解
SpringApplication.run(className,args) ;
2)修改启动端口
resources目录下的application.properties文件里添加
server.port=8089
3)使用mysql,mybatis,添加jar包
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.41</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.3</version> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.1</version> </dependency>
在使用工具在resources目录下生成mybatis的映射文件,下面是pom文件的配置(这里有个小坑,pom解析依赖有问题,mybatis-generator-core会标红,可以将依赖放到上面的dependencies里reimport,然后再次放回到原来的位置就可以了)
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.5</version>
<dependencies>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.5</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.41</version>
</dependency>
</dependencies>
<!--导入以后需要做的execution-->
<executions>
<execution>
<id>mybatis generator</id>
<phase>package</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<!--配置生成的文件-->
<configuration>
<!--允许移动生成的文件-->
<verbose>true</verbose>
<!--允许自动覆盖文件,一般项目开发中不允许设置为true,这样会把别人的工作成果给覆盖了-->
<overwrite>true</overwrite>
<configurationFile>
src/main/resources/mybatis-generator.xml
</configurationFile>
</configuration>
</plugin>
3)编写mybatis-generator.xml,这里有个小问题,这个dtd会标红,在idea里打开file->setting->Languages & Frameworks里的Schemas or DTDs里的右侧添加这个链接就不会标红了
4)创建数据库
一般选择utf8字符集,默认排序规则使用utf8_unicode_ci
创建表user_info,有如下字段
id,name,gender,age,telphone,regiseter_mode,third_parti_id (这里使用默认值,不用null)
企业级的密码一般是不与主表一起存取,需要加密存储,不能明文存储,
密码表user_password
id,encrpt_password,user_id
5)在mybatis-generator.xml,配置路径及生成的对应表的类的配置
jdbcConnection 配置数据库连接
javaModelGenerator 配置dataObject类存放路径
sqlNapGenerator生成映射文件的存放路径
javaClientGenerator 生成的Dao类的存放位置
生成对应表及类名
6)自动mybatis的类 run-> editConfiguration
新建一个maven运行,然后运行这个便能生成
7)生成的model会产生几个example的model,它会采用复杂的sql语句去查询,一般互联网开发中不会用到,如果用到都是建议手动去编写
下面是去掉这个example的model
然后手动删除那几个文件(踩完坑贴上这个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="DB2Tables" targetRuntime="MyBatis3"> <!-- 数据库连接 --> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1/miaosha" userId="root" password="lwx554246"> </jdbcConnection> <!--dataobject--> <javaModelGenerator targetPackage="com.miaoshaproject.dataobject" targetProject="src\main\java"> <property name="enableSubPackages" value="true" /> <!-- 从数据库返回的值被清理前后的空格 --> <property name="trimStrings" value="true" /> </javaModelGenerator> <!--对应的mapper.xml文件 --> <sqlMapGenerator targetPackage="mapping" targetProject="src\main\resources"> <property name="enableSubPackages" value="true" /> </sqlMapGenerator> <!-- 对应的Mapper接口类文件 --> <javaClientGenerator type="XMLMAPPER" targetPackage="com.miaoshaproject.dao" targetProject="src\main\java"> <property name="enableSubPackages" value="true" /> </javaClientGenerator> <!-- 生成那些表,tableName对应数据库表,domainObjectName对应实体类名 --> <table tableName="user_info" domainObjectName="UserDO" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table> <table tableName="user_password" domainObjectName="UserPasswordDO" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table> </context> </generatorConfiguration>
8)配置springboot的dataresurece
9)@SpringBootApplication(scanBasePackages={"com.miaoshaproject"})
对该工程下的文件进行扫描springboot的注解
@MapperScan("com.miaoshaproject.dao")
设置dao的目录设置到注解里
然后启动进行测试,然后手动往数据库里添加一天数据
再次测试