使用工具idea 2017.2开发,gradle构建项目,使用的技术有spring-boot、mybatis
1、新建项目
说明:1、src为源码路径,开发主要在src下
2、src/main/java下放java文件
3、src/main/resources下放配置文件
4、src/test/java下放test测试案例
5、build.gradle文件:gradle配置文件
2.配置build.gradle文件
buildscript { // 第三方插件
ext {
springBootVersion = '1.5.6.RELEASE'
}
repositories { // maven仓库地址
maven{url 'http://xxxx/'} // 私库
mavenCentral()
}
dependencies { // 依赖项
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
buildscript中的声明是gradle脚本自身需要使用的资源
apply plugin: 'java' // java项目
apply plugin: 'eclipse' // eclipse开发环境构建,生成所需要的.project,.classpath等文件
apply plugin: 'org.springframework.boot'
jar {
baseName = 'shop-supplier'
version = '1.0.0-SNAPSHOT'
}
version = '1.0.0-SNAPSHOT'
sourceCompatibility = 1.8
targetCompatibility = 1.8
repositories { // maven仓库地址
maven{url '私服地址'}
mavenCentral()
}
dependencies { // 依赖项
// web thymeleaf
compile('org.springframework.boot:spring-boot-starter-web')
compile('org.springframework.boot:spring-boot-starter-thymeleaf')
// test
testCompile('org.springframework.boot:spring-boot-starter-test')
//添加 google二维码
compile 'com.google.zxing:core:3.2.0'
}
3.配置mybatis
mybatis-config.xml:mybatis配置文件
mybatis/mapper文件夹下时mybatis的mapper.xml文件
3.application.properties:项目配置文件,内容如下:
# 数据库配置
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/dbname?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=round&transformedBitIsBoolean=true&autoReconnect=true&failOverReadOnly=false&allowMultiQueries=true
spring.datasource.username=root
spring.datasource.password=1
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
# mybatis配置
mybatis.config-location=classpath:mybatis-config.xml // 配置文件位置
mybatis.typeAliasesPackage=com.my.domain // 实体类包
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml // mapper文件位置
#log
logging.file=log.log
logging.level.com=info
logging.level.org=info
logging.level.com.my=debug
debug=true
logging.level.com.my.web = debug
4.mapper文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.my.dao.xxxDao">
<!-- 通用结果集 -->
<resultMap id="BaseResultMap" type="com.my.domain.xxx">
<id column="id" property="id"/>
<result column="user_name" property="userName"/>
<result column="字段" property="属性"/>
</resultMap>
<!-- 插入 -->
<insert id="方法名" paramType="com.my.domain.实体类">
INSERT INTO 表名 (id, user_name) VALUES (#{属性id}, #{属性userName})
</insert>
<!-- 删除 -->
<delete ... >
<!-- 修改 -->
<update ... >
<!-- 查询 -->
<select ... >
</mapper>
5.mybatis-config.xml配置设置
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<setting name="logImpl" value="SLF4J" />
</settings>
</configuration>
6.main方法入口
@SpringBootApplication // 入口注解
@MapperScan("com.my.dao") // mybatis扫描路径
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
注解:1.controller注解:
@RestCotroller类前--返回json 等价于 @Controller类前 + @ResponseBody方法前
@RequestMapping(value = "/order" method = RequestMethod.GET)类前或方法前
@Valid入参对象前验证入参,参数后面跟BindingResult参数,接收验证信息
@NotNull @NotEmpty @Length @NotBlank @Min @Size @JsonFormat入参对象属性前
2.service:
@Service类前
@Transactional(rollbackFor = Exception.class)方法前
3.dao:
@Mapper类前
@Param参数前
定时器:
1.在main入口java注解@EnableScheduling
2.定时器java注解@Component
3.定时方法注解@Scheduled(cron = "秒 分 时 天 月 星期 年"
一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。
按顺序依次为
秒(0~59)
分钟(0~59)
小时(0~23)
天(月)(0~31,但是你需要考虑你月的天数)
月(0~11)
天(星期)(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)
7.年份(1970-2099)
其中每个元素可以是一个值(如6),一个连续区间(9-12),一个间隔时间(8-18/4)(/表示每隔4小时),一个列表(1,3,5),通配符